Spring Boot codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.
This codebase was created to demonstrate a fully fledged fullstack application built with Spring Boot including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the Spring Boot community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the RealWorld repo.
- Spring Boot for auto configuration of dependencies
- Spring Data JPA for persistence with MySQL
- Spring Security to secure application using self-signed JWTs generated with oauth2-resource-server
./mvnw clean install -U
Follow instructions here to generate public and private keys for signing JWTs.
Add MySQL credentials to env.properties file
DB_NAME=your_db_name
DB_USER=your_username
DB_PASSWORD=your_password
- Use Lombok to reduce boilerplate code
- Add Logging
- Use linting tools for more consistent code formatting
- Write more tests and include a E2E test
- Find better ways of dealing with nested DTOs
- Make API accept XML