- Overview
- Architecture
- Features
- Diagram
- Tech Stack
- Getting Started
- Project Structure
- API Documentation
- License
e-store is a full-featured e-commerce application built with modern .NET technologies. It follows an N-Tier architecture pattern with a clean separation of concerns, making it highly maintainable and scalable.
The application consists of two main components:
- Backend API: A RESTful web API with JWT authentication and Swagger documentation
- Frontend Web: An ASP.NET Core MVC application with Razor views for the user interface
The application follows a traditional N-Tier architecture pattern:
WEB (Frontend) ←→ API (Backend) ←→ BLL ←→ DAL ←→ Database
↑ ↑
└────────────────────────────────┘
COMN (Shared)
- COMN (Common Layer): Shared components, attributes, constants, and extensions
- DAL (Data Access Layer): Database operations using Entity Framework Core
- BLL (Business Logic Layer): Business logic implementation
- API (Backend): RESTful API with JWT authentication
- WEB (Frontend): MVC application with Razor views
- 🔐 User Authentication: Secure JWT-based authentication
- 🛒 Shopping Cart: Add/remove items, quantity management
- 📦 Product Catalog: Browse products with categories/brands
- 📝 Order Processing: Create and track orders
- 👤 User Profiles: Manage personal information
- 📊 Admin Dashboard: Product and category management
- 📱 Responsive Design: Mobile-friendly interface
- 📚 API Documentation: Interactive Swagger UI
| Layer | Technology |
|---|---|
| Framework | ASP.NET Core 6 |
| Language | C# |
| Architecture | N-Tier |
| Authentication | JWT Bearer Tokens |
| Database | SQL Server LocalDB (Entity Framework Core) |
| Frontend | ASP.NET Core MVC (Razor Views) |
| API Documentation | Swagger/OpenAPI |
| Logging | NLog |
| Data Seeding | Faker.NET |
| HTTP Client | RestSharp |
- .NET 6 SDK
- SQL Server LocalDB (included with Visual Studio or SQL Server Express)
-
Clone the repository:
git clone https://github.com/ahmadmdabit/e-store.git cd e-store -
Restore dependencies:
dotnet restore
cd src\EStore\API
dotnet run- API Endpoint:
https://localhost:7018orhttp://localhost:5018 - Swagger UI: Available at
/swagger
cd src\EStore\WEB
dotnet run- Web Interface:
https://localhost:7042orhttp://localhost:5042
The application uses SQL Server LocalDB with an attached MDF file:
- Database file:
API/App_Data/EStoreDatabase.mdf - Connection string:
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\EStoreDatabase.mdf;Integrated Security=True;Connect Timeout=30
Entity Framework migrations will automatically create the database on first run.
src\EStore\
├── API\ # RESTful API backend
├── BLL\ # Business Logic Layer
├── COMN\ # Common components
├── DAL\ # Data Access Layer
└── WEB\ # Web frontend (MVC)
The API is documented using Swagger/OpenAPI. Once the API is running, you can access the interactive documentation at:
https://localhost:7001/swagger
The documentation provides:
- Complete endpoint list
- Request/response schemas
- Interactive testing interface
- JWT authentication support
Licensed under the MIT license.

