Skip to content

Tamtun/tasktracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Tracker

Task Tracker — дипломный проект на Django + PostgreSQL, упакованный в Docker.
Позволяет управлять сотрудниками и задачами через админку и REST API.


🚀 Запуск проекта

Требования

  • Docker
  • Docker Compose

Установка и запуск

git clone <репозиторий>
cd taskstracker
docker-compose up -d 

После запуска:

Админка доступна по адресу: http://localhost:8000/admin

API доступно по адресу: http://localhost:8000/api/

⚙️ Сервисы

  • web — Django 5.2.8 + Django REST Framework 3.16.1

  • db — PostgreSQL 15

  • admin — встроенная админка Django

🔑 Создание суперпользователя

docker-compose exec web python manage.py createsuperuser

📡 API эндпоинты

Сотрудники

  • GET /api/employees/ — список сотрудников
  • POST /api/employees/ — создать сотрудника
  • GET /api/employees/{id}/ — получить сотрудника
  • PUT /api/employees/{id}/ — обновить сотрудника
  • DELETE /api/employees/{id}/ — удалить сотрудника

Пример запроса:

{
  "full_name": "Иван Иванов",
  "position": "Разработчик"
}

Задачи

  • GET /api/tasks/ — список задач
  • POST /api/tasks/ — создать задачу
  • GET /api/tasks/{id}/ — получить задачу
  • PUT /api/tasks/{id}/ — обновить задачу
  • DELETE /api/tasks/{id}/ — удалить задачу

Пример запроса:

{
  "title": "Сделать CRUD",
  "assignee": 1,
  "deadline": "2025-12-01T12:00:00Z",
  "status": "В работе"
}

Дополнительные эндпоинты

  • GET /api/employees/busy/ — список сотрудников, отсортированных по количеству активных задач

  • GET /api/tasks/important/ — список «важных» задач (назначенные задачи, от которых зависят задачи в работе)

🛠 ️ Структура проекта

taskstracker/
├── core/              # приложение с моделями Employee и Task
├── tasktracker/       # настройки проекта
├── docker-compose.yml # конфигурация Docker
├── requirements.txt   # зависимости
└── README.md          # документация

✅ Проверка

Админка:

http://localhost:8000/admin

API:

http://localhost:8000/api/employees/

http://localhost:8000/api/tasks/

🧪 Тестирование

Запуск тестов с покрытием (coverage):

docker-compose exec web coverage run manage.py test
docker-compose exec web coverage report
docker-compose exec web coverage html

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors