Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
javicha authored Jun 20, 2022
1 parent 693f1f1 commit 2322976
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ We have 4 microservices, with asynchronous communication mechanism through Rabbi
+ **Inventory.API**: Main microservice. Implement inventory management functionalities. Accessible at the url http://localhost:7000/swagger/index.html. It includes:
+ ASP.NET Core Web API application
+ REST API principles, CRUD operations (except update for simplicity)
+ Implementing DDD, CQRS, and Clean Architecture with using Best Practices applying SOLID principles. Developing CQRS implementation on commands and queries with using MediatR, FluentValidation and AutoMapper packages.
+ Implementing DDD, CQRS, and Clean Architecture with using Best Practices applying SOLID principles. Developing CQRS implementation on commands and queries using MediatR, FluentValidation and AutoMapper packages.
+ InMemory database connection
+ Using Entity Framework Core ORM and database initialization with test Product entities when application startup
+ Publishing RabbitMQ ProductRemovedEvent event queue with using MassTransit-RabbitMQ Configuration
+ Publishing RabbitMQ ProductRemovedEvent event queue using MassTransit-RabbitMQ Configuration
+ **Inventory.Synchro**: Microservice for illustrative purposes. It executes a daily scheduled task (using the Coravel package), which is responsible of searching for the products that expire on the day. In case it finds products, it publishes an ProductExpiredEvent event for each of them.
+ **Laboratory.API**: Microservice for illustrative purposes (no swagger). The only functionality it implements is subscribing to a Rabbit queue to consume the event "ProductExpiredEvent". Inventory.Synchro publishes the event in the corresponding Rabbit queue, and this microservice consumes it and logs a message of the style *ProductExpiredConsumer - ProductExpiredEvent consumed - {event}*. We can see the message event in the logs, executing the command **docker logs laboratory.api** from the command line. A possible real use case would be to update the laboratory database, to avoid using expired products.
+ **Accounting.API**: Microservice for illustrative purposes (no swagger). The only functionality it implements is subscribing to a Rabbit queue to consume the event "ProductRemovedEvent". When we remove a product from the inventory, Inventory.API publishes the event in the corresponding Rabbit queue, and this microservice consumes it and logs a message of the style *ProductRemovedConsumer - ProductRemovedEvent consumed - {event}*. We can see the message event in the logs, executing the command **docker logs accounting.api** from the command line.
Expand Down

0 comments on commit 2322976

Please sign in to comment.