Skip to content

Dev-Salem-Ben-Mofleh/eCommerce-website

Repository files navigation

🛒 E-commerce Website

📌 Project Name
A full-stack e-commerce website with a customer-facing frontend and a RESTful backend API.

📖 Description

This project is a simple e-commerce system built for practice on Clean Architecture principles.

Backend: Built with ASP.NET 8 following best practices and modern design patterns.
Frontend: Built with React and JavaScript, providing an elegant interface for customers to browse products, add them to the cart, and place orders.

Currently, the site allows:
🔍 Browsing products with categories.
🔎 Searching products by name.
ℹ️ Viewing product details.
🛒 Adding products to the cart.
📦 Placing orders with shipping.
📧 Sending confirmation emails with order & shipping details.


🏗️ Backend

🔧 Tech Stack & Patterns

  • ASP.NET 8
  • Entity Framework Core
  • LINQ
  • RESTful API
  • Clean Architecture
  • MediatR (CQRS & Request Handling)
  • FluentValidation (Validation)
  • MailKit (Email Sending)
  • Repository Pattern
  • Serilog (Logging)
  • AutoMapper (Object Mapping)
  • JWT Token (Authentication & Authorization)

🧪 Testing

  • xUnit
  • Coverlet (Code Coverage)
  • Moq (Mocking)
  • Shouldly (Assertions)

📂 Features

  • User Authentication & Authorization (JWT)
  • Product & Category Management
  • Search and Filter Products
  • Shopping Cart Management
  • Order & Shipping Management
  • Email Notification for Customers

💻 Frontend

🚀 Tech Stack

  • React
  • JavaScript
  • Tailwind CSS
  • ESLint
  • React Router DOM
  • @tanstack/react-query & react-query-devtools
  • react-hot-toast (Notifications)
  • date-fns (Date Utilities)
  • FontAwesome (Icons)

🎯 Features

  • Customer-facing user interface
  • Browse products with categories
  • Search products by name
  • View detailed product information
  • Add products to cart
  • Place orders with shipping details
  • Email confirmation after order

✅ How to Run Locally

📌 Backend

Clone the repository.
Configure your database connection in appsettings.json.
Run the migrations:

dotnet ef database update

Run the API:

dotnet run

📌 Frontend

Clone the frontend repository.
Install dependencies:

npm install

Start the development server:

npm run dev

⚙️ Deployment

  • Backend: Hosted on Monster ASP.NET Free
  • Frontend: Hosted on Netlify

Project URL

Live Demo (https://salem-shop.netlify.app/)


👤 Author

Salem Ben Mofleh
📧 Email: salem@gmail.com

📢 Feel free to contribute, fork, and adapt!

About

Full-stack e-commerce website — ASP.NET 8 Clean Architecture backend API and React JavaScript frontend for browsing products, managing cart, and placing orders with email notifications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors