This is my first backend development project- a REST API for books and authors
- SpringBoot with Maven and Tomcat
- PostgreSQL for databse
- Spring JPA for object-db mapping
- Docker for containerization
- SQL and HQL (In earlier versions before implementing JPA)
- Hosted on AWS LightSail (taken down now because it's expensive)
- Mockito and JUnit for testing as well as testing on in-memory H2 databse
- ModelMapper for DTO mapping
- Lombok for rapid development
This project really helped me understand REST API archetecture, such as the presentation layer, business logic layer, and data access layer. I learned how JSON and API requests work. I also learned important SWE techniques such as dependency injection, beans, integration/repository tests, modularity, etc.
All code except for the AuthorController/BookController integration tests are commented for clarity. (Those tests are reasonably self-explanatory)
Feel free to look at the dev log file to see the project progression!