This repo was built for learning purpose on how application architecture look like for monolith and micro services. It explains how the communication works between client and server as well as between services.
It introduces concept like event bus in a very easy way to understand.
- Go to diagrams directory and open the diagram using draw.io
- Go to
monolithic
directory, and rundocker-compose up
- Go to
client
directory insidemonolithic
and runnpm start
, install the dependencies first. - If you don't want to make any changes to the client, simply uncomment the client portion from
docker-compose.yml
- Go to each directory inside
monolithic
and runnpm start
- Go to
micro-services-sync
directory, and rundocker-compose up
- Go to
client
directory insidemicro-services-sync
and runnpm start
, install the dependencies first. - If you don't want to make any changes to the client, simply uncomment the client portion from
docker-compose.yml
- Go to each directory inside
micro-services-sync
and runnpm start
- Go to
micro-services-async
directory, and rundocker-compose up
- Go to
client
directory insidemicro-services-async
and runnpm start
, install the dependencies first. - If you don't want to make any changes to the client, simply uncomment the client portion from
docker-compose.yml
- Go to each directory inside
micro-services-async
and runnpm start
Disclaimer
- I'm NOT an expert in this area, everything inside this repo is based on my research alone.
- DO conduct your own research to check the validity of the subject.
- Feel free to contact me if you have any questions.