Skip to content

A practical and imaginary ecommerce monolith, built with .Net 8, CQRS, Vertical Slice Architecture, and the latest technologies.

License

Notifications You must be signed in to change notification settings

tguankheng016/dotnet-commerce-monolith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

This is a practical and imaginary eCommerce backend system built with .NET 8. The system is designed using Monolith Architecture, Vertical Slice Architecture, and Clean Architecture principles. The goal is to demonstrate a scalable, maintainable, and testable approach for building modern eCommerce applications.

Technologies Used

  • .NET 8 - The latest stable version of .NET for building high-performance applications.

  • MVC Versioning API - Set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.

  • EF Core - Modern object-relational mapper for .NET that enables LINQ queries, change tracking, updates, and database schema migrations.

  • AspNetCore OpenApi - Provides built-in support for OpenAPI document generation in ASP.NET Core.

  • MediatR - About Simple, unambitious mediator implementation in .NET

  • FluentValidation - Popular .NET validation library for building strongly-typed validation rules.

  • Swagger UI - Swagger tools for documenting API's built on ASP.NET Core.

  • Serilog - Simple .NET logging with fully-structured events

  • Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.

  • Scrutor - Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjection

  • EasyCaching - Open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier.

  • Mapperly - A .NET source generator for generating object mappings. No runtime reflection.

  • NSubstitute - A friendly substitute for .NET mocking libraries.

  • xUnit - A free, open source, community-focused unit testing tool for the .NET Framework.

  • Bogus - A simple fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.

  • Testcontainers - Testcontainers for .NET is a library to support tests with throwaway instances of Docker containers.

Prerequisites

To get started with this project, you need to have the following installed:

Getting Started

Clone the repository:

git clone https://github.com/tguankheng016/dotnet-commerce-monolith.git

Run the development server:

cd src/CommerceMono.Api
dotnet run

About

A practical and imaginary ecommerce monolith, built with .Net 8, CQRS, Vertical Slice Architecture, and the latest technologies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages