Skip to content

New Product Service using C# and .Net and follow DDD and Clean architecture using postgres and destributed caching Redis and it is so simple.

License

Notifications You must be signed in to change notification settings

Ebrahem-Outlook/DDD-Product-Service

Repository files navigation

DDD Product Service 🎉

Table of Contents

Introduction 📖

Welcome to the DDD Product Service! This project showcases the implementation of a product service using Domain-Driven Design (DDD) principles. It's designed to demonstrate best practices in building resilient, scalable, and maintainable systems with C# and the .NET ecosystem.

Features ✨

  • 🏗️ Modular Monolith Architecture
  • 🧹 Clean and Maintainable Codebase
  • 🧩 Domain-Driven Design (DDD)
  • 🔄 Command Query Responsibility Segregation (CQRS)
  • 🌊 Event Sourcing
  • Comprehensive Unit and Integration Testing
  • 🚀 CI/CD Pipeline

Planned Features 📝

  • 🐳 Docker Support
  • 🐘 PostgreSQL Integration
  • 🛑 Redis Caching
  • 🔒 Authorization
  • 📝 FluentValidation
  • 🔧 Middleware
  • 📬 RabbitMQ & MassTransit for Messaging
  • 🌐 Client App Connectivity
  • 🔄 Polly for Resilience and Transient Fault Handling

Technologies Used 🛠️

  • Language: C#
  • Framework: .NET 8
  • Database: SQL Server (to be replaced with PostgreSQL)
  • ORM: Entity Framework Core
  • Event Store: EventStoreDB
  • Messaging: RabbitMQ, MassTransit
  • Resilience: Polly
  • Testing: xUnit, Moq
  • CI/CD: GitHub Actions

Getting Started 🚀

Prerequisites 📋

Installation 🔧

  1. Clone the repository:

    git clone https://github.com/Ebrahem-Outlook/DDD-Product-Service.git
    cd DDD-Product-Service
  2. Set up the database:

    dotnet ef database update
  3. Run the application:

    dotnet run

About

New Product Service using C# and .Net and follow DDD and Clean architecture using postgres and destributed caching Redis and it is so simple.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published