Пример простого Rest API приложения с использованием Spring Boot, PostgreSQL и Docker контейнеров. Доступ к API осуществляется на базе JWT.
Приложение собрано на базе:
- JDK 17
- Gradle 8.4
- Docker 24+
Приложение имеет следющий функционал:
- Регистрация и авторизация пользователей
- Обновление данных пользователей
- Создание задач для пользователей
- Просмотр списка задач пользователей
- Обновление данных задач
- Назначение задач определенным пользователям
- Исполнители могут изменять статус своих задач
- Создатель и исполнитель задачи могут просматривать и оставлять комментарии к своим задачам
- Логирование основных событий
- Возврат читаемого отчета об ошибке, если она вознилка при обработке запроса на сервере
Для демонстрации возможностей API имеется интерфейс Swagger по адресу http://localhost:8080/api/v1/swagger-ui.
После клонирования репозитория необходимо перейти в корневую директорию проекта:
cd task-management-system
Выполнить команду для сборки приложения при помощи docker-compose:
docker-compose build
Для запуска приложение необходимо в корневой директории проекта выполнить команду:
docker-compose up
После успешного запуска приложение по умолчанию будет использовать порт 8080.
Основные переменные окружения (например, используемый приложением порт) могут быть заданы через ".env" файл в корневой директории проекта
Для сборки тестов необходимо в корневой директории выполнить команду:
gradle build test
После сборки отчет будет находится в файле /build/reports/test/index.html