📌 Project Name
A full-stack e-commerce website with a customer-facing frontend and a RESTful backend API.
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.
- 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)
- xUnit
- Coverlet (Code Coverage)
- Moq (Mocking)
- Shouldly (Assertions)
- User Authentication & Authorization (JWT)
- Product & Category Management
- Search and Filter Products
- Shopping Cart Management
- Order & Shipping Management
- Email Notification for Customers
- React
- JavaScript
- Tailwind CSS
- ESLint
- React Router DOM
- @tanstack/react-query & react-query-devtools
- react-hot-toast (Notifications)
- date-fns (Date Utilities)
- FontAwesome (Icons)
- 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
Clone the repository.
Configure your database connection in appsettings.json.
Run the migrations:
dotnet ef database updateRun the API:
dotnet runClone the frontend repository.
Install dependencies:
npm installStart the development server:
npm run dev- Backend: Hosted on Monster ASP.NET Free
- Frontend: Hosted on Netlify
Live Demo (https://salem-shop.netlify.app/)
- Email: salembenmofleh@gmail.com
- Password: !Password123#
Salem Ben Mofleh
📧 Email: salem@gmail.com
📢 Feel free to contribute, fork, and adapt!