A full-featured e-commerce web application built with ASP.NET Core 8 MVC, Entity Framework Core, and SQL Server. Features product catalog management, shopping cart, order processing, shipment tracking, user authentication, and an admin dashboard.
- Product browsing with search, filtering, and pagination
- Category-based product organization
- Shopping cart management
- Order placement and checkout
- Shipment tracking and order history
- Real-time product comments (SignalR)
- User account management
- Product and category CRUD operations
- Order management and revenue tracking
- User and admin account management
- Customer and product analytics
- Comment moderation
- ASP.NET Identity for user authentication
- Role-based authorization (Admin/Customer)
- Email verification via SMTP (Gmail)
- Password recovery with email reset flow
- Framework: ASP.NET Core 8 MVC
- ORM: Entity Framework Core (Code-First)
- Database: SQL Server (LocalDB)
- Authentication: ASP.NET Identity
- Real-time: SignalR
- Frontend: HTML, CSS, JavaScript, jQuery, Bootstrap
- Email: MailKit + MimeKit (Gmail SMTP)
- .NET 8 SDK
- Visual Studio 2022 (with ASP.NET workload) or VS Code
- SQL Server LocalDB (included with Visual Studio)
-
Clone the repository
git clone https://github.com/tulbadex/techtonic.git cd techtonic -
Restore dependencies
cd ecommerce dotnet restore dotnet tool restore -
Apply database migrations
dotnet ef database update
-
Run the application
dotnet run
-
Open in browser Navigate to
http://localhost:5238
To enable email verification and password reset, update appsettings.json:
"MailSettings": {
"Mail": "your-email@gmail.com",
"DisplayName": "TechTonic",
"Password": "your-gmail-app-password",
"Host": "smtp.gmail.com",
"Port": 465
}Generate a Gmail App Password: Google Account → Security → 2-Step Verification → App Passwords.
ecommerce/
├── Controllers/ # MVC controllers (Home, Product, Cart, Order, Account, etc.)
├── Models/ # Entity models and DbContext
├── ViewModels/ # View-specific data models
├── Views/ # Razor views organized by controller
├── Repository/ # Repository pattern (interfaces + implementations)
├── Services/ # Business logic layer
├── Hubs/ # SignalR hubs (real-time comments)
├── Migrations/ # EF Core database migrations
├── TempelateMails/ # Email HTML templates
├── Settings/ # Configuration classes
└── wwwroot/ # Static files (CSS, JS, images)
- MVC Pattern — Clean separation of concerns
- Repository Pattern — Abstracted data access layer
- Service Layer — Business logic decoupled from controllers
- Dependency Injection — All services registered and injected via DI container
Ibrahim — ibrahimadedayo@rocketmail.com
MIT