تفاصيل العمل

ECommerce Management System ?

A robust and scalable ECommerce backend built with ASP.NET Core 9.0, following Clean Architecture principles and utilizing MongoDB for data persistence.

? Technologies Used

Back-End Framework: ASP.NET Core 9.0

Database: MongoDB

Identity: ASP.NET Identity with MongoDB support (AspNetCore.Identity.Mongo)

Architecture: Clean Architecture / Onion Architecture

Messaging/Pattern: MediatR (CQRS Pattern)

Validation: FluentValidation

Mapping: AutoMapper

Authentication: JWT (JSON Web Token) with custom validation middleware

Documentation: Swagger/OpenAPI (Swashbuckle)

Email Service: MailKit & MimeKit

Security: BCrypt.Net for password hashing

? Project Structure

The project follows a clean separation of concerns:

ECommerce.API: Presentation Layer (Controllers, Middleware, Program.cs)

ECommerce.Core: Application Layer (Business Logic, MediatR Handlers, Validators, Mapping)

ECommerce.Domain: Domain Layer (Entities, Models)

ECommerce.Infrastructure: Data Layer (MongoDB Context, Repositories)

ECommerce.Services: Infrastructure Services (Email, File Upload)

ECommerce.Shared: Shared Layer (DTOs, Project Settings, Utility Classes)

✨ Key Features

User Authentication: Secure Login, Registration, and Identity Management.

Role-Based Access: Authorization handled via JWT roles.

Product & Inventory: Complete management for Products, Categories, and Subcategories.

Email Notifications: Automated email services for user verification and alerts.

File Management: Image and document upload support for products and users.

Interactive Documentation: Full Swagger UI integration for API exploration and testing.

Resilient Middleware: Global error handling and JWT validation filters.

?️ Getting Started

Prerequisites

.NET SDK 9.0

MongoDB Server (Local or Cloud)

Configuration

Update appsettings.json with your MongoDB credentials:

"ConnectionStrings": {

"MongoDB": "your_mongodb_connection_string",

"DatabaseName": "ECommerceDB"

}

Configure your JWT settings and Mail settings in appsettings.json.

Running the API

Clone the repository.

Open Ecommerce.API.sln.

Set ECommerce.APi as the Startup Project.

Press F5 to run or use CLI:

dotnet run --project ECommerce.APi

Swagger will open automatically at the root URL.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
9
تاريخ الإضافة
المهارات