Skip to content

💸 QRkot - это API сервиса по сбору средств для финансирования благотворительных проектов.

Notifications You must be signed in to change notification settings

Hastred45/cat_charity_fund

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FastAPI SQLAlchemy Alembic Pydantic Asyncio

QRkot | Сat сharity fund

Описание

Учебный проект для изучения работы во фреймворке FastAPI.

QRkot - это API сервиса по сбору средств для финансирования благотворительных проектов. В сервисе реализована возможность регистрации пользователей, добавления благотворительных проектов и пожертвований, которые распределяются по открытым проектам.

Настроено автоматическое создание первого суперпользователя при запуске проекта.

Установка

  1. Склонируйте репозиторий:
git clone git@github.com:Hastred45/cat_charity_fund.git
  1. Активируйте venv и установите зависимости:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Создайте в корневой директории файл .env со следующим наполнением:
APP_TITLE=Приложение QRKot.
APP_DESC=Спасем котиков вместе!
DATABASE_URL=sqlite+aiosqlite:///./<название базы данных>.db
SECRET=<секретное слово>
FIRST_SUPERUSER_EMAIL=<email суперюзера>
FIRST_SUPERUSER_PASSWORD=<пароль суперюзера>
  1. Примените миграции для создания базы данных SQLite:
alembic upgrade head
  1. Проект готов к запуску.

Управление:

Для локального запуска выполните команду:

uvicorn app.main:app --reload

Сервис будет запущен и доступен по следующим адресам:

После запуска доступны следующие эндпоинты:

  • Регистрация и аутентификация:
    • /auth/register - регистрация пользователя
    • /auth/jwt/login - аутентификация пользователя (получение jwt-токена)
    • /auth/jwt/logout - выход (сброс jwt-токена)
  • Пользователи:
    • /users/me - получение и изменение данных аутентифицированного пользователя
    • /users/{id} - получение и изменение данных пользователя по id
  • Благотворительные проекты:
    • /charity_project/ - получение списка проектов и создание нового
    • /charity_project/{project_id} - изменение и удаление существующего проекта
  • Пожертвования:
    • /donation/ - получение списка всех пожертвований и создание пожертвования
    • /donation/my - получение списка всех пожертвований аутентифицированного пользователя

Со схемами запросов и ответов можно ознакомиться в документации или в файле со спецификацией - openapi.json.

Автор

Sergei Osetrov

hastred45@yandex.ru

About

💸 QRkot - это API сервиса по сбору средств для финансирования благотворительных проектов.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published