Трекер задач позволяют эффективно организовать совместную работу над задачами.
Приложение представляет собой бэкенд трекера задач. Трекер работает с эпик-задачами (большие задачи, которые могут иметь подзадачи), обычными задачами и подзадачами. В приложении поддерживаются операции:
- создания задач трех типов
- изменения статусов задач (для эпик-задач вычисляется в зависимости от статусов подзадач)
- удаления задач трех типов
- сохранения и получения истории просмотра задач
- установки приоритетов и получения задач согласно приоритетам
Проект развивался от хранения данных по задачам и истории просмотра задач в памяти, затем в файле и, наконец, на сервере.
Метод | Описание |
---|---|
GET | Get tasts, epics, subtasks, history |
POST | Post tasts, epics, subtasks |
DELETE | Delete tasts, epics, subtasks |
Метод | URL | Описание | Параметры |
---|---|---|---|
GET | /tasks/task | Получить список всех обычных задач | n/a |
/tasks/task/?id | Получить обычную задачу по id | id > 0 | |
/tasks/subtask | Получить список всех подзадач | n/a | |
/tasks/subtask/?id | Получить подзадачу по id | id > 0 | |
/tasks/epic | Получить список всех эпик-задач | n/a | |
/tasks/epic/?id | Получить эпик-задачу по id | id > 0 | |
/tasks/subtask/epic/?id | Получить список подзадач для эпик-задачи по id | id > 0 | |
/tasks/history | Получить историю просмотров задач | n/a | |
/tasks/tasks/ | Получить список задач по приоритетам | n/a | |
POST | /tasks/task | Создать обычную задачу | требуется json body |
/tasks/subtask | Создать подзадачу | требуется json body | |
/tasks/epic | Создать эпик-задачу | требуется json body | |
DELETE | /tasks/task | Удалить все обычные задачи | n/a |
/tasks/task/?id | Удалить обычную задачу по id | id > 0 | |
/tasks/subtask | Удалить все подзадачи | n/a | |
/tasks/subtask/?id | Удалить подзадачу по id | id > 0 | |
/tasks/epic | Удалить все эпик-задачи | n/a | |
/tasks/epic/?id | Удалить эпик-задачу по id | id > 0 |
Java version 11
HttpClient
HttpServer
JUnit
Основные операции приложения проверяются с помощью postman-коллекции тестов. Дополнительно используются автотесты.