EcommerceWeb is a modern, feature-rich e-commerce platform designed specifically for book lovers. Built with ASP.NET Core MVC and Entity Framework Core, this project showcases the key features of a modern online store. The project follows Layered Architecture, ensuring clear separation of concerns between different parts of the application, making it easy to maintain and scale.
π Experience the platform live: debugger-squad-production.up.railway.app
π€ Name | Naimur Rahman | Monir Hossain | Nasif Uz Zaman |
---|---|---|---|
π― Role | Mentor | Member | Member |
π» GitHub | Naimurrahman76 | monir-devx | NasifUzZaman38 |
π LinkedIn |
Ecommerce/
βββ Ecommerce.DataAccess/
β βββ Data/
β βββ DbInitializer/
β βββ Migrations/
β βββ Repository/
β
βββ Ecommerce.Models/
β βββ Models/
β βββ ViewModels/
β
βββ Ecommerce.Utility/
β βββ Utilities/
β βββ EmailSender/
β βββ StripeSettings/
β βββ SD.cs
β
βββ EcommerceWeb/
β βββ Areas/
β β βββ Admin/
β β β βββ Controllers/
β β β βββ Views/
β β βββ Customer/
β β β βββ Controllers/
β β β βββ Views/
β β βββ Identity/
β β βββ Pages/
β βββ ViewComponents/
β βββ Views/
β βββ wwwroot/
β βββ Properties/
β
βββ Ecommerce.Tests/
β βββ ControllerTests/
β βββ RepositoryTests/
β
βββ Ecommerce.sln
ASP.NET Core MVC |
C# |
JavaScript |
Bootstrap |
Entity Framework Core |
SQL Server |
PostgreSQL |
SQLite |
ASP.NET Identity |
Facebook Login |
Stripe Payment |
Git & GitHub |
Docker |
Fly.io |
Railway |
xUnit |
EcommerceWeb is a modern, full-featured e-commerce platform for book lovers, built with ASP.NET Core MVC and Entity Framework Core, adhering to Clean Architecture principles. It is designed to serve both as a robust real-world application and a valuable learning resource for developers. The platform supports multi-role access, secure payment processing, product management, and a seamless user experience through a responsive and interactive UI.
- Admins and employees can create, update, and delete products and categories.
- Products include pricing, discounts, inventory tracking, and image uploads via a dynamic UI.
- Four distinct roles: Admin, Employee, Customer, and Company.
- Each role has tailored permissions and dashboard views.
- Persistent shopping cart experience for both guest and logged-in users.
- Stripe-powered payment integration with test and live environments.
- ASP.NET Identity-based authentication with role management.
- Supports external login with Facebook authentication.
- Custom workflows for Company users (e.g., Net 30 billing).
- Customers can track order status and view history.
- Admins can manage orders, including refunds via Stripe and shipping updates.
Feature-rich interface to manage:
- Products with images
- Categories
- Companies and their users
- Orders and statuses
- User roles and access
- DataTables: Sorting, searching, and pagination in admin tables.
- Toastr: Real-time notification feedback.
- TinyMCE: Rich text editor for product descriptions.
- SweetAlert: Clean and modern modal dialogs.
- Carousel: Multi-image support in product gallery.
- Follows Repository and Unit of Work patterns.
- Includes DBInitializer to seed roles and admin accounts on first run.
- Structured into multiple projects:
Models
,DataAccess
,Utility
, andWeb
.
- xUnit test coverage for controllers and repositories.
- Dependency Injection & Mocking for testability.
- GitHub Actions + SonarCloud for CI and code quality checks.
- SQL Server with Entity Framework Migrations.
- Deployment-ready on Railway, Fly.io, and SQLite for local development.
For detailed information, please visit our Wiki page.