Skip to content

My-Shop is a new moduler monolith application build to make it easy if in the futuer need to move to Microservice .... and I am implement all the best practice of DDD and clean arcticther >>>

License

Notifications You must be signed in to change notification settings

Ebrahem-Outlook/MY-SHOP

Repository files navigation

My-Shop

Welcome to My-Shop! 🎉

My-Shop is a modular monolith application built using Domain-Driven Design (DDD) and Clean Architecture principles. This application is designed to manage users, products, and orders effectively, ensuring a scalable and maintainable system.

Key Features

🧑‍💻 User Management: Handle user registration, authentication, and profile management.

🛒 Product Management: Create, update, and view products in the system.

📦 Order Management: Enable users to place and manage orders for products.

Caching: Utilize Redis for efficient data caching and improved performance.

🐳 Docker: Containerize the application using Docker for easy deployment and scalability.

🗃️ PostgreSQL: Use PostgreSQL as the primary database for data storage.

Architecture

Architecture Diagram

The application follows a modular design with clear boundaries and responsibilities. The architecture diagram illustrates the main components and their interactions.

Technologies Used

🖥️ .NET 8: For building the backend services.

💻 C#: Primary programming language for the application logic.

🏗️ Domain-Driven Design (DDD): To ensure a well-structured and scalable system.

🏛️ Clean Architecture: For maintaining a clear separation of concerns and modularity.

🔗 MassTransit: For service communication (planned integration).

🔄 MediateR: For module communication (in the modular monolith setup).

FluentValidation: For input validation.

🗄️ Redis: For caching frequently accessed data.

📊 PostgreSQL: For relational database management.

📦 Docker: For containerization and deployment.

Screenshots

User Interface

UI Screenshot

A glimpse of the user interface, showcasing the main features of the application.

Getting Started

🚀 To get started with My-Shop, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/Ebrahem-Outlook/My-Shop.git

About

My-Shop is a new moduler monolith application build to make it easy if in the futuer need to move to Microservice .... and I am implement all the best practice of DDD and clean arcticther >>>

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages