This project is educational, meaning I added libraries/tools to it just for the purpose of playing with them.
Stack :
- Gradle Kotlin DSL
- Spring Boot 2.X
- Spring Cloud Contracts
- Spring RestDocs
- JSON Schema (Everit-org)
- Lombok
- Create React App
- Embedded Mongo
- Docker
Features :
- Create React App "build" task linked to Gradle workflow (could have added the "test" task as well)
- Examples of tests (sometime pointless) on every layer with JUnit, Mockito, RestAssuredMockMvc, AssertJ
- Auto-generation of RestDocs from Contract tests
- Auto-generation of Open API Spec from RestDocs
- Use immutable object between sources of truth (user input <-> database)
- Validation against a simple JSON Schema
- Node, Yarn and Gradle installed locally
- Docker builder