edreyer / modulith Goto Github PK
View Code? Open in Web Editor NEWMicroservice arch deployed as monolith
License: MIT License
Microservice arch deployed as monolith
License: MIT License
Hi Erik ,
You said in the description that:
Events generated by each workflow, are published using Spring's event system.
but in the source code I dont see in usage of :
org.springframework.context.ApplicationEventPublisher
or
org.springframework.context.event.EventListener
Can you please confirm if the current architecture uses an event driven communication btw modules and if soo how the event are habdled wich framework (spring event, Guava, eventbus, MBassador)
thanks
Dear Edreyer,
Thank you for your project. It looks pretty good.
I could see that you chose to use MongoDB for production and h2 for testing.
I could not see any infrastructure (docker, docker-compose) to spin up your mongodb. Have you consider adding a directory called "docker" where you would have your docker-compose with your infrastructure (MongoDB)?
this why you could just call: docker compose -f docker/docker-compose.yml up -d
What do you think?
Regards,
Flavio Oliva
Hi Erik ,
First a big thank you for the great Repo ๐ฅ
when you said :
TODO
ACL system
CQRS
Commands, Queries, Events
Arch Unit
is it only to add explanation to the readme.md or you mean that these architecture techniques are not yet implmented in the current source code of the sample application?
Hi Erik
Thank for for the answer :)
but I can't see how CQRS is implemented as an example for the booking module both writte and read operations go through the same persistence unit and end up in the same mongodb document.
in the booking module:
Both writte and read operations use AppointmentRepository
and
**Both writte and read operations end up using the same DB table ( appointments Document on mongodb) **
If you can please explain to me how CQRS is implemented ? thats will be appreciated
cheers
In order to enable this, will likely have to disable
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
see: https://dzone.com/articles/kotlin-and-junit-5-beforeall
Convenient manipulation of immutable data
In this (and similar) architectures, there are layers boundaries where translations must occur between DTOs, Domain Objects, JPA entities, etc.
The project is currently using handwritten extension functions. This can be a bit tedious as it's just copying fields. See if a bean mapper could reduce some of this.
One kotlin project to try: https://shapeshift.krud.dev/
Thank you for this great sample project. Can you please add a license file so that it is clear in which form it can be used?
Dear Edreyer,
looking at your swagger URL:
http://localhost:8080/webjars/swagger-ui/index.html
I could see that your DTOs have different naming conventions. Sometimes you use Input
, Output, other moments you use In, Out. And in some occasions, you just don't even use anything to indicate if the DTO is for in or out purpose.
I would suggest, that you take to one convention and stick to that. I understand that sometimes a DTO can be used for in and out purposes but it might be interesting to have separate classes just for the sake of clarity.
This is just my 2p.
Thanks once again for your repostory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.