Skip to content

iammrranik/CafeteriaManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ Cafeteria Management System (ASP.NET Core MVC Project)


✨ Status

🚧 Completed
🧠 Built with .NET 10.0 and .NET Core 3.1
🎮 Uses Entity Framework Core
🎯 Designed for Final Evaluation


🍽️ System Overview

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.


🔥 Features

  • 🧩 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

📌 Tech Stack

  • .NET 10.0 / .NET Core 3.1
  • Entity Framework Core
  • SQL Server
  • AutoMapper
  • Bootstrap 5
  • Git and GitHub
  • Visual Studio

🗂️ Project Structure

├── 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

🚦 How to Run

  1. Initialize database: Run db.sql in SQL Server to create the tables and seed default data.
  2. Open CafeteriaManagementSystem.sln in Visual Studio.
  3. Restore NuGet dependencies and set App as the Startup Project.
  4. Run the project:
dotnet run --project App

📝 Design

The web application is designed using structured layered principles:

  • Routing & Session: Managed in App/Program.cs and 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/Services contain 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.

📦 Requirements

  • .NET Core SDK / .NET 10.0 SDK
  • MS SQL Server

Install dependencies:

dotnet restore

🏆 Credits

Developed by iammrranik for an academic final project.

About

A Cafeteria Management System built with a three-tier architecture using ASP.NET Core MVC, Entity Framework Core and SQL Server. Features wallet recharge, transaction audits and automated bulk refund systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages