HTTP API сервис для менеджера задач
Стек: Java, Spring Boot, Maven, PostgreSQL.
Возможности:
- Вернуть список всех задач (GET: /tasks)
- Получить один тег по УИД и все его задачи (GET: /tag/{УИД тега})
- Добавить/изменить тег (POST: /tag)
- Добавить/изменить задачу (POST: /task)
- Удалить задачу (DELETE: /task/{УИД задачи})
- Удалить тег со всеми прикрепленными к нему задачами (DELETE: /tag/{id})
- Возможность загрузить файл-вложение к задаче (POST: /task/{УИД задачи}/upload)
Дополнительно:
- Общий обработчик ошибок
- Валидация пользовательских данных
- Unit и интеграционные тесты
- Отдельные Spring профили для запуска в боевом и тестовом режимах
- Документирование кода
- HTTP Basic Auth на модифицирующие методы сервиса
- Поддержка HTTPS
- Кэширование на api вызове, возвращающем тег по УИД
- Возможность развертывания сервиса API в docker-контейнере