Веб-приложение для управления проектами и задачами (task planner) с тайм-трекингом, приоритетами, дедлайнами и аналитикой.
Backend
- Python 3 / Django 5.2 + Django REST Framework
- JWT-авторизация (
djangorestframework-simplejwt) django-filter,django-cors-headers- PostgreSQL (
psycopg2-binary) / SQLite для локальной разработки - Тесты:
pytest+pytest-django
Frontend
- React 19 + Vite
- Redux Toolkit + React Redux
- React Router
- Tailwind CSS
- Axios
- Recharts (графики), jsPDF + html2canvas (экспорт), Framer Motion
- Регистрация и вход по email (JWT access/refresh токены)
- Профиль пользователя с аватаром
- Проекты (CRUD)
- Задачи внутри проектов:
- статусы:
new,in_progress,done - приоритеты:
low,medium,high - оценка времени, залогированное время, дедлайн
- статусы:
- Аналитика по задачам с экспортом в CSV и PDF
.
├── backend/ # Django REST API (users, projects, analytics)
└── frontend/ # React + Vite SPA
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # заполнить своими значениями
python manage.py migrate
python manage.py runserverAPI будет доступно на http://localhost:8000/.
DEBUG=True
SECRET_KEY=your-secret-key-here
DATABASE_URL=postgres://user:password@localhost:5432/taskplanner
ALLOWED_HOSTS=localhost,127.0.0.1
CORS_ALLOWED_ORIGINS=http://localhost:5173cd backend
pytestcd frontend
npm install
npm run devDev-сервер поднимется на http://localhost:5173/.
Сборка production-версии:
npm run build| Метод | Путь | Описание |
|---|---|---|
| POST | /api/auth/register/ |
Регистрация |
| POST | /api/auth/login/ |
Получение JWT-токенов |
| POST | /api/auth/refresh/ |
Обновление access-токена |
| GET | /api/auth/me/ |
Текущий пользователь |
| CRUD | /api/projects/ |
Проекты |
| CRUD | /api/tasks/ |
Задачи |
| GET | /api/analytics/summary/ |
Сводная аналитика |
| GET | /api/analytics/export/csv/ |
Экспорт в CSV |
| GET | /api/analytics/export/pdf/ |
Экспорт в PDF |