- Python 3.13
- FastAPI
- Tortoise ORM
- PostgreSQL 16
- Скачть / склонировать репозиторий
git clone <ссылка>- Скопировать файл
.env.exampleи вставить в корень проекта с названием.env(вручную или через консоль - на примере bash):
cp .env.example .env- Cборка и запуск
docker compose up --build- Очистка
docker compose down -v- Запуск тестов
docker compose run --rm app pytest -vGET /ping
POST /auth/register
Тело запроса:
{
"username": "john"
}POST /auth/login
Тело запроса:
{
"username": "john"
}POST /auth/refresh
Тело запроса:
{
"refresh": "<refresh>"
}POST /notifications
Заголовки:
Authorization: Bearer <access>Тело запроса:
{
"type": "comment",
"text": "Комментарий 1"
}GET /notifications
Заголовки:
Authorization: Bearer <access>`DELETE /notifications/{id}
Заголовки:
Authorization: Bearer <access>`- Конфигурации проекта вынесены в
app/settings - Коментарии и документацию к коду не стал писать, так как это считается плохой практикой.
- Было бы чуть больше времени, можно было бы добавить линтеры, дописать больше сценариев в тестах, добавить кэш и навести больше красоты.