Реализовать REST АПИ для клиентского приложения, которое должно отображать страницу со списком студентов с возможностями:
- добавить нового студента в список;
- удалить существующего студента;
- отредактировать существующего студента;
- внести изменения названий (поле text) в справочнике успеваемости. Исходные значения: [{id 2, text "неуд"}, {id 3, text "уд"}, {id 4, text "хор"}, {id 5, text "отл"}]
У студента есть поля:
- ФИО
- дата рождения
- успеваемость (опционально, значение из справочника)
Предлагаемый стек: Java, Spring Framework, PostgreSQL, Spring-data, Liquibase/Flyway, Swagger, Docker
Сопутствующие требования:
- инструкция по разворачиванию исходной версии СУБД;
- автогенерация swagger-документации на основании исходного кода;
- валидация
- Java 17
- Maven
- Spring Boot, Data, Test, Validation
- PostgreSQL
- Liquibase
- JUnit 5
- JoCoCo
- Swagger
- Docker
- Создать базу данных test_app в PostgreSQL 12+. Проверить "src/main/resources/application-local.properties".
- Установить/проверить JDK 17
- В IDEA запустить Main.class -> "Configuration" -> "Edit..." -> В "Active profiles" установить "local".
Приложение после запуска доступно по http://localhost:8080/, можно изменить порт в docker-compose.yml.
$ docker-compose build
$ docker-compose up
Sql скрипты из папки db/scripts сами запустятся в контейнере, если база данных ранее не была проинициализирована. Файлы бд будут смонтированы в /target, можно просто сделать mvn clean.
При запущенном приложение Swagger доступен по следующей ссылке: http://localhost:8080/swagger-ui/index.html
