My name is Le Minh Huy, This is my personal project, providing in-depth knowledge about .NET 8 by applying with Microservices Architecture, DDD, CQRS, Vertical Slice and Clean Architecture. One of the goals of this project is to practice and deepen my understanding of building microservices with .NET.
- RESTful APIs implementation using ASP.NET Core
- Applied Vertical Slice Architecture, CQRS, DDD, Clean Architecture
- Used MediatR for commands, queries, and pipeline behaviors
- Validation with FluentValidation
- Data access using Entity Framework Core (SQL Server, SQLite) and Marten (PostgreSQL)
- In-memory data with Redis
- Asynchronous communication using RabbitMQ with MassTransit
- Synchronous gRPC between services
- Logging, Health Checks, Exception Handling across services
- API Gateway with YARP applying route/cluster/transform configuration
- Applied design patterns: Proxy, Decorator, Cache-aside, UnitOfWork, Generic Repository
- Dockerized services and databases using Docker Compose
- Built Web UI with ASP.NET Core Razor Pages and Bootstrap 4
- API consumption via Refit HttpClientFactory
- Served via YARP API Gateway
- You need to have the Docker Desktop with Docker compose on your machine
- Clone this repository to your machine
- Open terminal in this repository folder
- Run the following commands in order:
docker-compose up -d- All done, you can access:
- Frontend: http://localhost:6005
- Backend:
- Catalog Service: http://localhost:6000
- Basket Service: http://localhost:6001
- Discount Grpc Service: http://localhost:6002
- Order Service: http://localhost:6003
- Gateway: http://localhost:6004