- Create Spring Boot application.
- Add Spring Boot Starter Web.
- Add Spring Boot Starter Data JPA.
- Add Spring Cloud Starter Netflix Eureka Client.
- Add
net,utilandtestlibrary dependencies and repositories.
- Setup Spring Boot application.
- Replace
application.propertieswithapplication.yml. - Set application port.
- Set application name.
- Add resource filtering to
pom.xml. - Set application version.
- Configure Eureka client and H2 console for local development.
- Replace
- Setup GitHub CI.
- Add
<distributionManagement>topom.xml. - Create workflow YML file.
- Add
- Setup logging.
- Add
@EnableOpenGameBackendUtilsand@ConfigurationPropertiesScan. - Add Elastic dependency.
- Add
logback-spring.xml. - Add Zalando Logbook dependency.
- Set Zalando Logbook log level to
TRACE.
- Add
- Setup API documentation.
- Add
springdoc-openapi-uidependency. - Add
OpenAPIbean. - Verify documentation at
http://localhost:<PORT>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/
- Add
- Create persistence layer.
- Add H2 and MariaDB database dependencies.
- Add Flyway dependency.
- Add JPA entities.
- Add repositories and tests.
- Add database migrations.
- Seed database.
- Create service layer.
- Add services and tests, with request and response DTOs in
netlibrary.
- Add services and tests, with request and response DTOs in
- Create endpoint layer.
- Add controllers and integration tests.
- Add
GlobalControllerExceptionHandler.
- Verify security.
- Secure endpoints in
WebSecurityConfigof gateway if necessary.
- Secure endpoints in
- Setup Ansible deployment.
- Add host to
hostsandhosts.example. - Add service playbook.
- Add service playbook to
site.yml. - Add service configuration file.
- Add credentials to
vars,vaultandvault.example.
- Add host to