Стек: Python, Django, DRF, Django-Channels, Websockets, PostgreSQL, Celery-Beat, RabbitMQ, Docker, Google-Auth, JWT, Push-notifications, FirebaseAPI, Swagger
Реализован следующий функционал:
- Регистрация и аутентификация пользователя через Google. Авторизация по JWT токену.
- Вывод списка всех задач текущего пользователя, запланированных на сегодня и позже.
- Просмотр информации о конкретной задаче(включая подзадачи и уведомления, если они есть). Изменение информации о задаче. Перенос задачи в корзину. Удаление задачи
- Просмотр информации о подзадаче. Редактирование, удаление подзадачи.
- Создание напоминания о задаче на определенное время. В указанное время время пользователю приходит PUSH уведомление с напоминанием о задаче. Реализовать через планировщик задач Celery-Beat. В качестве брокера сообщений использовать RabbitMQ. Для отправки PUSH уведомелний использовать API сервиса Firebase.
- Редактирование, удаление напоминания о задаче.
- Дневник задач: отображение списка задач пользователя, выполненных ранее.
- Корзина. Отображение списка удаленных задач. Очистка корзина. Удаление задачи из корзины. Восстановление задачи.
- Автоматическое развертывание приложения происходит через Docker-Compose.
- В качестве СУБД используется PostgreSQL.
- Для автодокументирования API используется Swagger.
- Чат со службой технической поддержки на Websocket. Для реализации используется Django-channels.
docker-compose --build
docker-compose up