serkanince / ProductManagementAPI

Example project is built with .NET 7, Minimal API, DDD, CQRS, Integration Test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Product Management API

Description

This example project is a solution for the e-commerce merchandising management system, which aims to create a business flow for CRUD transactions in the "Product" domain. The project is developed using .NET 7, Minimal API, Domain-driven Design (DDD), Command Query Responsibility Segregation (CQRS), and MediatR pattern.

It will be enough to run!

docker compose up -d --build

and browse api in Swagger

http://localhost:8000/swagger/index.html

Technology Stack

  • .Net 7
  • Minimal API
  • Open API with Swagger
  • Dockerize with Docker Compose
  • PostgreSQL
  • CQRS (with MediatR)
  • Integration Test with xUnit, TestServer
  • Fluent Validation
  • SOLID , Clean Code
  • DDD

Project Structure:

  • ProductManagement.API: This project contains the REST API endpoints for CRUD and filtering products.
  • ProductManagement.Application: This project contains the application layer that handles the business logic of the project.
  • ProductManagement.Domain: This project contains the domain models and interfaces.
  • ProductManagement.Infrastructure: This project contains the implementation of the interfaces defined in the domain layer.

How to run the project:

You must install a .Net 6 before run Download .Net 7

  • Clone the repository to your local machine.
  • Open the solution in Visual Studio or any other compatible IDE.
  • Set the ProductManagement.API and Run with docker compose

SS

Test Result

System Design

Swagger

System Design

About

Example project is built with .NET 7, Minimal API, DDD, CQRS, Integration Test


Languages

Language:C# 98.2%Language:Dockerfile 1.8%