Ball.com is a monorepo that includes multiple microservices that recreate the domain of a big webshop. Each microservice uses .NET 8 and maintains its own database, allowing them to operate independently. The system uses RabbitMQ for messaging and ensures eventual consistency over time, so the microservices work well together without being tightly coupled.
- Supplier Management
- Inventory Management
- Customer Account Management
- Customer Support Management
- Payment Management
- Order Management
- Logistics Management
- Notification Service
To visualize the application and all functional requirements, this Archimate model was created.
An example of CQRS (Command Query Responsibility Segregation) using an order event.