About

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