Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 2.6 KB

README.md

File metadata and controls

31 lines (23 loc) · 2.6 KB

Backend приложения "Планировщик задач".

Стек: Python, Django, DRF, Django-Channels, Websockets, PostgreSQL, Celery-Beat, RabbitMQ, Docker, Google-Auth, JWT, Push-notifications, FirebaseAPI, Swagger

Реализован следующий функционал:

  1. Регистрация и аутентификация пользователя через Google. Авторизация по JWT токену.
  2. Вывод списка всех задач текущего пользователя, запланированных на сегодня и позже.
  3. Просмотр информации о конкретной задаче(включая подзадачи и уведомления, если они есть). Изменение информации о задаче. Перенос задачи в корзину. Удаление задачи
  4. Просмотр информации о подзадаче. Редактирование, удаление подзадачи.
  5. Создание напоминания о задаче на определенное время. В указанное время время пользователю приходит PUSH уведомление с напоминанием о задаче. Реализовать через планировщик задач Celery-Beat. В качестве брокера сообщений использовать RabbitMQ. Для отправки PUSH уведомелний использовать API сервиса Firebase.
  6. Редактирование, удаление напоминания о задаче.
  7. Дневник задач: отображение списка задач пользователя, выполненных ранее.
  8. Корзина. Отображение списка удаленных задач. Очистка корзина. Удаление задачи из корзины. Восстановление задачи.
  9. Автоматическое развертывание приложения происходит через Docker-Compose.
  10. В качестве СУБД используется PostgreSQL.
  11. Для автодокументирования API используется Swagger.
  12. Чат со службой технической поддержки на Websocket. Для реализации используется Django-channels.

Сборка контейнера docker

docker-compose --build

Запуск приложения через docker-compose

docker-compose up