In this project, we have the following services:
- Product Service: Create and View products, acts as a product catalog.
- Order Service: Through this, we can order products.
- Inventory Service: Through this, we can check if a product is in stock or not.
- Notification Service: Through this, we can send Notifications after an order is placed.
- We have a controller service and repository layer for each of the services.
- In the controller layer we are receiving the HTTP request from the clients and from there the business logic is executed on the service layer.
- We are communicating through a message queue in order service and notification service.
- We have stored the data in the database so for that we are also going to maintain a repository layer that mainly talks to the database, we have a Postgres and MongoDB database, both of which will follow the same pattern.
- We have a repository that talks to the database this is how almost all the services are being structured.