With a more simplistic architectural vision, following all the good concepts, specially keeping total isolation of the core, but with a single external layer for the application, simulating a physically modular division into packages with config, entrypoint and dataprovider.
- Java 17
- Spring Boot
- PostgreSQL, Flyway
- JUnit 5, Mockito, JaCoCo
$ make compose-up$ make dist$ make runPOST /notifications (creates a new notification)
{
"type": "SSE",
"title": "Order created #1",
"message": "Created at 2023-02-03",
"link": "/orders/1"
}Code : 201 CREATED
{
"id": "7c08629a-4d23-4b6d-9363-b0f0d7303aa4",
"type": "SSE",
"title": "Order created #1",
"message": "Created at 2023-02-03",
"link": "/orders/1",
"read": false
}GET /queries/count-unread (counts unread notifications)
Code : 200 OK
{
"countUnread": 10
}