Welcome to the Customer Service repository! This microservice is designed to manage customer data efficiently and integrates seamlessly with other services in a modern microservices architecture using .NET 8.
The Customer Service microservice provides robust operations for managing customer information, leveraging .NET 8 and advanced architectural patterns to ensure scalability, reliability, and maintainability.
- Customer Management: Create, update, and retrieve customer data.
- Event Sourcing: Implements event sourcing for reliable state management.
- Validation: Ensures data integrity using FluentValidation.
- Communication: Utilizes MassTransit and RabbitMQ for inter-service messaging.
- Query Handling: Employs MediatR for handling requests and responses.
- RESTful API: Provides a RESTful API for accessing customer services.
-
Technology Stack:
- .NET 8: Framework for building the service.
- MassTransit: For service-to-service communication.
- RabbitMQ: Messaging broker for asynchronous communication.
- MediatR: For handling commands and queries.
- FluentValidation: For validating input data.
- Event Sourcing: To manage state changes through events.
- PostgreSQL: Relational database for storing customer data.
- Redis: Caching layer to enhance performance.
-
Design:
- Domain-Driven Design (DDD): Follows DDD principles for a well-structured architecture.
- Clean Architecture: Ensures separation of concerns and maintainability.
- Event Sourcing: Captures all changes as a sequence of events to ensure reliable state reconstruction.
- .NET 8 SDK
- PostgreSQL
- Redis
- RabbitMQ
- Clone the repository:
git clone https://github.com/Ebrahem-Outlook/Customer-Service.git