https://github.com/hiimlawtsimp1e/eshopmicroservices
ASP.NET Core 8.0, Martern ORM, Microservices, Vertical-Slice Architecture, CQRS, Mediator
https://github.com/hiimlawtsimp1e/eshopmicroservices
asp-net-api asp-net-core cqrs-pattern dependency-injection dot-net-8 marten mediator-pattern microservices minimal-api vertical-slice-architecture
Last synced: 2 months ago
JSON representation
ASP.NET Core 8.0, Martern ORM, Microservices, Vertical-Slice Architecture, CQRS, Mediator
- Host: GitHub
- URL: https://github.com/hiimlawtsimp1e/eshopmicroservices
- Owner: HiImLawtSimp1e
- License: mit
- Created: 2025-02-16T07:17:17.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-02-23T20:20:17.000Z (2 months ago)
- Last Synced: 2025-02-23T20:27:03.143Z (2 months ago)
- Topics: asp-net-api, asp-net-core, cqrs-pattern, dependency-injection, dot-net-8, marten, mediator-pattern, microservices, minimal-api, vertical-slice-architecture
- Language: C#
- Homepage:
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EShopMicroservices
This is my implementation for the course [.NET 8 Microservices](https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet).
## Catlog Service
- Patterns & Principles
- Vertical Slice Architecture
- CQRS Pattern
- Mediator Pattern: for implement CQRS
- Dependency Injection
- Minimal APIs
- ORM Pattern
- Library
- MediatR for CQRS: This library simplifies the implementation of the CQRS pattern.
- Carter for API Endpoints: Routing and handling HTTP request, easier to define API endpoints with clean and concise code.
- Marten ORM for PostgreSQL Interaction: Use PostgreSQL as a Document DB. It leverages PostgreSQL's JSON capabilities for storing, querying, and managing documents.
- Mapster for Object Mapping
- FluentValidation for Input Validation
- Datastore
- PostgreSQL used as a Document database (Marten ORM): By using PostgreSQL's JSON column features, Marten ORM transforms PostgreSQL into `.NET Transactional Document DB`
## Basket Service
- Patterns & Principles
- Vertical Slice Architecture
- CQRS Pattern
- Mediator Pattern: Used for implement CQRS
- Repository Pattern
- Proxy Pattern: Used for implement Redis cache
- Decorator Pattern: Used for implement Redis cache
- Read-Aside Pattern: Caching strategy
- Dependency Injection
- Minimal APIs
- ORM Pattern
- Library
- MediatR for CQRS: This library simplifies the implementation of the CQRS pattern.
- Carter for API Endpoints: Routing and handling HTTP request, easier to define API endpoints with clean and concise code.
- Marten ORM for PostgreSQL Interaction: Use PostgreSQL as a Document DB. It leverages PostgreSQL's JSON capabilities for storing, querying, and managing documents.
- Mapster for Object Mapping
- FluentValidation for Input Validation
- Scrutor for implement decorator pattern: By registering decorator in DI Container
- gRPC for inter service communication
- Redis for distributed cache
- MassTransit for RabbitMQ operations
- Datastore
- PostgreSQL used as a Document database (Marten ORM): By using PostgreSQL's JSON column features, Marten ORM transforms PostgreSQL into `.NET Transactional Document DB`
- Redis distrubuted cache