Skip to content

coolbeatz71/eshop-modular-monolith

Repository files navigation

🛒 EShop Modular Monolith

Build Status Coverage .NET License

A comprehensive modular monolith application for learning advanced .NET architecture using modern technologies and best practices.

📊 Code Coverage

Module Unit Tests Integration Tests Coverage
🛒 Basket Unit Tests Integration Coverage
📦 Catalog Unit Tests Integration Coverage
📋 Ordering Unit Tests Integration Coverage
🔧 Shared Unit Tests Integration Coverage

🚀 Technologies

  • Framework: ASP.NET Core 9.0
  • Database: PostgreSQL 15
  • Cache: Redis 7
  • Message Broker: RabbitMQ
  • Authentication: Keycloak
  • Logging: Seq, Serilog
  • Containerization: Docker
  • Messaging: MassTransit
  • CQRS: MediatR
  • Testing: xUnit, FluentAssertions, Moq, TestContainers
  • Code Coverage: Coverlet, ReportGenerator

🏗️ Architecture

This project demonstrates a Modular Monolith architecture with:

  • Clean Architecture principles
  • Domain-Driven Design (DDD)
  • CQRS pattern with MediatR
  • Event-Driven Architecture
  • Comprehensive Testing Strategy

🧪 Testing

The project includes a comprehensive testing framework:

  • Unit Tests: Individual module testing with mocks
  • Integration Tests: End-to-end API testing with TestContainers
  • Code Coverage: Automated coverage reporting
  • Test Helpers: Reusable builders and utilities using Bogus

Running Tests

# Run all tests
dotnet test

# Run tests with coverage
dotnet test --collect:"XPlat Code Coverage"

# Run specific module tests
dotnet test tests/UnitTests/Basket/
dotnet test tests/IntegrationTests/Api/

About

A modular monolith application for learning advanced .NET architecture using Asp.Net, Web API, PostgreSQL, Redis, RabbitMQ, Keycloak, Seq, Docker, MassTransit, MediatR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors