- Python 3.12
- Django 5
- Django REST Framework
- PostgreSQL
- Daphne
- Redis
- Swagger
- Django Channels
-
Для локального запуска приложения понадобится Docker.
Инструкцию по установке можно найти на официальном сайте: https://docs.docker.com/engine/install/ -
Склонируйте репозиторий:
git clone [email protected]:qwertttyyy/TaskManagement.git cd TaskManagement
-
Создайте файл .env на примере .env.example
# Django settings SECRET_KEY=secret_key DEBUG=True ALLOWED_HOSTS='localhost 127.0.0.1' # PostgreSQL settings POSTGRES_USER=admin POSTGRES_PASSWORD=password POSTGRES_DB=task_management DB_HOST=db DB_PORT=5432 # Redis settings REDIS_HOST=redis://redis:6379/
-
Запустите контейнеры командой:
docker compose up -d
-
Проект будет доступен по адресу http://localhost/
-
Для доступа к админке создайте суперпользователя командой:
docker compose exec api python manage.py createsuperuser
На запущенном проекте доступна динамическая документация по адресу http://localhost/api/swagger/
Также есть статическая в виде html файла, можно скачать swagger_docs.html и открыть браузере
Написаны тесты для API.
Тесты на регистрацию пользователя. Создание, обновление, получение, удаление и фильтрацию задач.
Запустить тесты можно командой docker compose exec api python manage.py test
2. Аутентификация с username в виде email и паролем. В ответе получаем token.
Теперь можно передавать Token <token>
в заголовке Authorization
.
5. Получение списка задач. Есть возможность фильтрации по статусу и дате создания через query-параметры.
Настроена отправка уведомлений о смене статуса задачи через вебсокет соединение.
Вебсокет соединение устанавливается через api/ws/notification/