Skip to content

E-Commerce platform developed using C# and .NET, focusing on Clean Architecture and Domain-Driven Design (DDD)

Notifications You must be signed in to change notification settings

paridosiolo/CleanCommerce

Repository files navigation

CleanCommerce

CleanCommerce is an E-Commerce platform developed using C# and .NET, focusing on Clean Architecture and Domain-Driven Design (DDD). It serves as an experimental ground to explore and implement best practices in software design within the context of an online store.

Table of Contents

Introduction

This project serves as an experimental playground for implementing and understanding software design patterns within the context of an E-Commerce application.

  • Clean Architecture: Encouraging maintainability and separation of concerns.
  • Domain-Driven Design (DDD): Modeling the business domain into software artifacts.

Features

  • Authentication/Authorization Management: Implementing secure user authentication and manage user permissions.
  • Product Management: Allows CRUD operations for products.
  • Shopping Cart: Enables adding/removing items and calculating totals.
  • Order Processing: Manages customer orders.

Technologies Used

  • C#: Primary programming language.
  • .NET Framework/.NET Core: Framework for building applications.

Project Structure

The project structure aligns with Clean Architecture principles, organizing components into layers:

  • Domain: Core business entities, interfaces, and domain logic.
  • Application: Implements use cases and orchestrates application workflows.
  • Infrastructure: Deals with external concerns like databases and external services.
  • Presentation: User interface and interaction components.

Installation

  1. Clone the repository: git clone https://github.com/paridosiolo/CleanCommerce.git
  2. Navigate to the project directory.

Usage

  1. TODO - (how to run the application)
  2. TODO - (API endpoints and their functionalities)
  3. TODO - (Sample usage scenarios or code snippets)

Contributing

Contributions are welcome! Please feel free to open issues or pull requests for features, bug fixes, or improvements..