Task Manager – це веб-додаток для управління завданнями, розроблений на основі Django та Django Rest Framework. Проєкт дозволяє створювати проєкти, додавати завдання, організовувати їх у колонки (To do, In progress, Done) та відслідковувати прогрес у режимі реального часу.
- Python – основна мова програмування.
- Django – фреймворк для серверної частини.
- Django Rest Framework (DRF) – для створення REST API.
- PostgreSQL – база даних.
- Django Channels – для реалізації WebSocket-з'єднань (реальний час).
- drf-yasg – для автодокументації API (Swagger UI).
- django-cors-headers – для налаштування CORS.
-
Клонувати репозиторій:
git clone https://github.com/vladikD/TaskMaster cd TaskMaster -
Створити віртуальне середовище та активувати його:
python -m venv venv source venv/bin/activate # Для Linux/macOS venv\Scripts\activate # Для Windows
-
Встановити залежності:
pip install -r requirements.txt
-
Налаштувати файл .env із відповідними налаштуваннями, наприклад, SECRET_KEY, налаштування бази даних тощо.
-
Застосувати міграції:
python manage.py makemigrations python manage.py migrate
-
Запустити сервер:
python manage.py runserver
uvicorn TaskMaster.asgi:application --reload - для WebSocket
brew services start redis - цю команду потрібно виконати в терміналі (для цього потрібно мати встановленим Redis)
## Використання
```markdown
## Використання
- **Адмін-панель:**
Перейдіть за адресою `http://127.0.0.1:8000/admin/` та увійдіть з даними суперкористувача.
- **API:**
Використовуйте URL `/api/` для доступу до API.
Документація API доступна за адресою:
- Swagger UI: `http://127.0.0.1:8000/swagger/`
- ReDoc: `http://127.0.0.1:8000/redoc/`
## Додаткова інформація
- **WebSocket:**
Для реального часу використовується Django Channels. Клієнти підключаються за URL типу `ws://127.0.0.1:8000/ws/projects/<project_id>/`.
- **Логування та відстеження:**
Реалізовано логування основних подій для спрощення налагодження.