Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Микросервис уведомлений


Стек:

  • Python 3.13
  • FastAPI
  • Tortoise ORM
  • PostgreSQL 16

Запуск с использованием Docker

  1. Скачть / склонировать репозиторий
git clone <ссылка>
  1. Скопировать файл .env.example и вставить в корень проекта с названием .env (вручную или через консоль - на примере bash):
cp .env.example .env
  1. Cборка и запуск
docker compose up --build
  1. Очистка
docker compose down -v
  1. Запуск тестов
docker compose run --rm app pytest -v

API эндпоинты (на примерах)

Проверка работоспособности

GET /ping

Регистрация

POST /auth/register

Тело запроса:

{
  "username": "john"
}

Логин (вход)

POST /auth/login

Тело запроса:

{
  "username": "john"
}

Обновление access токена

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
  • Коментарии и документацию к коду не стал писать, так как это считается плохой практикой.
  • Было бы чуть больше времени, можно было бы добавить линтеры, дописать больше сценариев в тестах, добавить кэш и навести больше красоты.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages