- Install packages with
mvn package - Run
mvn spring-boot:runfor starting the application (or use your IDE)
Application (with the embedded H2 database) is ready to be used ! You can access the url below for testing it :
- Swagger UI : http://localhost:8080/swagger-ui.html
- H2 UI : http://localhost:8080/h2-console
Don't forget to set the
JDBC URLvalue asjdbc:h2:mem:testdbfor H2 UI.
- Architecture
- Packages refactoring
- Fix bug, improvements
- Decouple model / entities (mapping added via mapstruct)
- Send created/updated objects on POST/PUT requests
- Global exception treatment (Controller advise)
- Tests
- Test data script (data.sql)
- Test coverage report (Jacoco)
- Unit & integration tests
- Documentation
- Comments
- Developer guide (doc folder)
- Swagger documentation annotations on operations/models
- Security
- Add API Key authentication
- Performance
- Adding cache on service function retrieving employees data (spring cache)
I have 5 years experience in Java and I started to use Spring Boot from 3 years
- Improve security by changing to OAuth2 authentication with client credential flow
- Implement HATEOAS
- Divide architecture into micro services
- Create docker container running the application
- Set up CI configuration (with GitHub actions)
- Create more search functions (with dynamic requests, JPA specifications...)
- Implement log configuration (levels, rolling...)