Skip to content

This is very simple project using Domain Driven Design Created using C# and Visual Studio

Notifications You must be signed in to change notification settings

Ebrahem-Outlook/DDD

Repository files navigation

DDD Modular Monolith Architecture

Description

This repository showcases a comprehensive implementation of Domain-Driven Design (DDD) principles within a modular monolith architecture. It includes multiple services such as User, Product, Order, and Notifications, with JWT-based authentication and authorization.

Table of Contents

  1. Features
  2. Technologies Used
  3. Getting Started
  4. Usage
  5. Contributing
  6. License
  7. Contact

Features

  • ✅ Modular Monolith Architecture
  • ✅ Domain-Driven Design Principles
  • ✅ Event Sourcing
  • ✅ CQRS Pattern
  • ✅ JWT Authentication and Authorization
  • ✅ User, Product, Order, and Notifications Services
  • ✅ Unit Testing, Integration Testing, and Architecture Testing
  • ✅ CI/CD Pipelines

Technologies Used

  • C#
  • .NET Core
  • ASP.NET Core
  • PostgreSQL
  • Docker
  • Azure Virtual Machine
  • Domain-Driven Design
  • Event Sourcing
  • Clean Architecture
  • Mediator Pattern
  • FluentValidation
  • CQRS
  • RESTful API
  • EF Core
  • Serilog
  • MassTransit
  • RabbitMQ
  • Redis

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/Ebrahem-Outlook/DDD.git
    cd DDD
  2. Build and run Docker containers:

    docker-compose up --build

Usage

  • Ensure all dependencies (PostgreSQL, Redis, RabbitMQ) are running.
  • Start the application using Docker or your preferred method.
  • Access the provided API endpoints to interact with the various services.
  • Detailed API documentation can be found here.

Contributing

Contributions are welcome! Please read the contributing guidelines first. You can:

  • Fork the repository
  • Create a feature branch (git checkout -b feature/fooBar)
  • Commit your changes (git commit -am 'Add some fooBar')
  • Push to the branch (git push origin feature/fooBar)
  • Create a new Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Feel free to reach out for any questions or feedback:

About

This is very simple project using Domain Driven Design Created using C# and Visual Studio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published