Skip to content

Jkl88/notification_service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📨 Сервис уведомлений на FastAPI

Этот проект — простой backend для системы уведомлений. 😎


⚙️ Что реализовано в этом проекте

  • ✅ Регистрация пользователей
  • 🔑 Авторизация (JWT access и refresh токены)
  • 📩 Создание уведомлений
  • 📬 Получение уведомлений с кешированием через Redis
  • ❌ Удаление уведомлений
  • 🐘 PostgreSQL для хранения данных
  • 🐳 Docker-сборка

🛠 Как всё работает

Авторизация

JWT-токены:

  • access_token — для запросов
  • refresh_token — чтобы получить новый access

Хранятся в Authorization: Bearer <token>

Redis

Для ускорения ответов:

  • Когда запрашиваются уведомления, сначала смотрится в Redis
  • Если нет — берётся из БД и кешируется

📬 Основные эндпоинты

🔐 Авторизация

POST /auth/register — регистрация
Пример:

{
  "username": "user",
  "password": "123456"
}

POST /auth/login — вход
Формат: application/x-www-form-urlencoded
Пример:

username=user&password=123456

POST /auth/refresh — обновление токена
Требуется Authorization: Bearer <refresh_token>


🔔 Уведомления

POST /notifications/ — создать уведомление
Требует авторизацию

{
  "type": "like",
  "text": "str"
}

GET /notifications/ — получить список
Параметры:

  • limit: сколько записей (по умолчанию 10)
  • offset: откуда начинать (по умолчанию 0)

DELETE /notifications/{id} — удалить уведомление
Только если пользователь — владелец уведомления


Спасибо, что заглянули 👋

About

FastAPI notifications service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors