A Spring Boot application that serves a basic bulletin board service, implemented to be deployable as a learning exercise. The original author's code can be found on this GitHub repository.
This application generally follows the traditional Spring MVC design pattern. In addition to this structure, a DTO layer exists between the domain and controller layer, as well as between the controller and view layer to facilitate decoupling between each layer. A separate service layer handles most of the business logic such as moving the appropriate entity data in and out of the persistance layer, pagination of responses, hashtag parsing, and so on.
- Get familiar with the overall structure and design paradigms of Spring as a framework
- Experience database migration from MySQL to PostgreSQL through the use of the Hibernate ORM
- Application of behavior-driven development through implementation of unit tests following the given-when-then pattern
- Hands-on learning of various software design principles
- Hands-on learning of various Spring Boot modules and related packages such as Spring JPA, Spring Security, Mockito, JUnit, Lombok, Jakarta... etc