Started in September 2022, the project has the goal to study and apply different technics to create a good modular monolith. This is a project of a client that I had from 2005 to 2011 and the company does not exist anymore and I use their use cases to study new development approach. It is a Management Tool for Soccer Matches.
Created the first ADR to define the architecture decisions, setup Spring Boot and the gitlab pipeline pointing to my personal kubernetes cluster with 3 raspberry pi.
Implemented the first use cases and aggregates using Domain-Driven Design - DDD, unit/integration/system tests.
After implement some Aggregates using the onion architecture, I decided to migrate the simple aggregate to 1 layer architecture using Spring Data Rest.
The React.js was added to the project in April 2023. The focus was with the workflow and not the design. Also, the web resources was changed to be HATEOAS.
After learn about React.js, make sense to have Spring for GraphQL and avoid multiple sequential call to the backend.
In August 2023 I decided to redo the event storming diagram. The new diagram groups the Amateur Soccer Group and Ranking aggregates and create a new User aggregate. Those changes will be added to the code soon.
- 0001: Record architecture decisions
- 0002: Spring boot as main framework
- 0003: Api Versioning
- 0004: OpenAPI Api Documentation
- 0005: Gitlab pipeline for Tests
- 0006: Gitlab pipeline to deploy Stage and Production
- 0007: Setup Identity and Access Mgmt for the Apis
- 0008: Enforcing the Architecture with ArchUnit
- 0009: Architecture Design