Skip to content

E-Commerce Application with Microservices Architecture (.NET 8).

License

Notifications You must be signed in to change notification settings

chicuong2k3/MicroservicesApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-commerce Application with Microservices Architecture

Libraries used

  • MediatR for CQRS pattern (a library that implements Mediator pattern).
  • Mapster for Object Mapping.
  • Carter for API Endpoints.
  • FluentValidation for Input Validation.
  • HealthChecks.* and HealthChecks.UI.Client for Health Check.
  • Microsoft.FeatureManagement.AspNetCore for Feature Management.

Authentication Service

Catalog Service

Architecture: Vertical Slice Architecture.

Patterns: CQRS.

Databases: MSSQL Server.

Libraries: Entity Framework Core, HtmlAgilityPack.

Basket Service

Architecture: Vertical Slice Architecture.

Patterns: CQRS, Repository, Cache-Aside, Proxy and Decorator.

Databases: PostgreSQL as a Document DB and Redis.

Libraries: Marten, StackExchangeRedis and Scrutor.

Discount Service

Architecture: 3-Layer Architecture

Databases: SQLite

Libraries: Entity Framework Core, gRPC

Ordering Service

Architecture: Clean Architecture.

Development Approach: Domain-Driven Design

Patterns: CQRS, Repository, Event Sourcing, REPR.

Databases: MSSQL Server

Libraries: Entity Framework Core

Asynchronous Communication

Architecture: Event-Driven Microservices Architecture.

Patterns: Publish-Subscribe, Transactional Outbox, Saga.

Libraries: MassTransit, MassTransit.RabbitMQ.

API Gateways with YARP Reverse Proxy

Patterns: Gateway Routing, API Gateway, Backend for Frontend.

Libraries: Yarp.ReverseProxy.

References

A document schema for product variants and skus

Modelling Products and Variants for E-Commerce

AMQP

Protocol Buffers Documentation

Domain Events

Domain Events vs Integration Events

Dual Write Problem

Feature Flags

About MediatR and CQRS

Reasons for not using Auto Mapper

Design Exceptions

CLI

dotnet new --list

dotnet new (project-type) -n (project-name) [-controllers]

dotnet dev-certs https --trust

dotnet nuget add source (path) -n (name)

About

E-Commerce Application with Microservices Architecture (.NET 8).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published