🚧 Completed
🧠 Built with .NET 10.0 and .NET Core 3.1
🎮 Uses Entity Framework Core
🎯 Designed for Final Evaluation
This is a web-based Cafeteria Management System built following N-Tier architecture principles. The application allows customers to browse menu items, order meals, recharge their wallets and track their booking history. Administrators can manage user roles, audit logs, inspect financial records and process bulk cancellation refunds.
- 🧩 N-Tier Architecture (OOP, separate layers for presentation, business logic and data access)
- ⚡ Advanced Features (personalized recommended menus, bulk cancellation and automatic refund mechanisms)
- 🖥️ User-Friendly Interface (simple Bootstrap forms, dynamic transaction tables and status grids)
- 📊 Financial Audit Oversight (deposit tracking, manual wallet balance adjustment and system log monitoring)
- 🔒 Session-Based Security (custom filters, login validation and role checks)
- 📁 Well-Structured Project Architecture
- .NET 10.0 / .NET Core 3.1
- Entity Framework Core
- SQL Server
- AutoMapper
- Bootstrap 5
- Git and GitHub
- Visual Studio
├── CafeteriaManagementSystem.sln
├── README.md
├── App/
│ ├── Program.cs
│ ├── Validations/
│ │ └── UniqueIdCardNo.cs
│ ├── AuthFilters/
│ │ ├── AdminAccess.cs
│ │ └── CustomerAccess.cs
│ ├── Controllers/
│ │ ├── AdminController.cs
│ │ ├── AuthController.cs
│ │ └── CustomerController.cs
│ └── Views/
│ ├── Shared/
│ │ └── _Layout.cshtml
│ ├── Auth/
│ │ ├── Login.cshtml
│ │ └── Registration.cshtml
│ ├── Admin/
│ │ ├── Dashboard.cshtml
│ │ ├── Users.cshtml
│ │ ├── Bookings.cshtml
│ │ └── MenuItems.cshtml
│ └── Customer/
│ ├── Index.cshtml
│ ├── MyBookings.cshtml
│ └── Recharge.cshtml
├── BLL/
│ ├── MapperConfig.cs
│ ├── Services/
│ │ ├── UserService.cs
│ │ ├── MealBookingService.cs
│ │ └── MenuItemService.cs
│ └── DTOs/
│ ├── UserDTO.cs
│ ├── MealBookingDTO.cs
│ └── MenuItemDTO.cs
├── DAL/
│ ├── db.sql
│ ├── implementation.md
│ ├── EF/
│ │ └── CafeteriaDbContext.cs
│ └── Repos/
│ ├── UserRepo.cs
│ ├── MealBookingRepo.cs
│ └── MenuItemRepo.cs
- Initialize database: Run db.sql in SQL Server to create the tables and seed default data.
- Open
CafeteriaManagementSystem.slnin Visual Studio. - Restore NuGet dependencies and set
Appas the Startup Project. - Run the project:
dotnet run --project AppThe web application is designed using structured layered principles:
- Routing & Session: Managed in
App/Program.csand authorization filters, handling user context and access rules. - DTO Separation: User input is bound to validation-annotated DTOs to separate the user interface from database structures.
- Service Workflows: Service classes in
BLL/Servicescontain logical conditions (e.g. validating balances and stock counts). - Audit Logging: Sensitive operations like profile modifications and user terminations are logged automatically.
- Cascade Safe Deletions: Associated system logs are automatically cleared prior to deleting user accounts to prevent database crashes.
- .NET Core SDK / .NET 10.0 SDK
- MS SQL Server
Install dependencies:
dotnet restoreDeveloped by iammrranik for an academic final project.