Skip to content

Smart Hostel Management System

  • 12 slides
  • 16 viva questions
  • 7 modules
  • Code included

@smart-hostel-managementUpdated Oct 2026

Room allocation, complaints and mess billing without the register

BCA, Web Development · Sem 5 · Intermediate · 8 weeks · Team of 2

More info
Level
Intermediate · 8 weeks · Team of 2
Relevant for
Karnataka
Common at
Bengaluru City University, Bangalore University, IGNOU
Syllabus
BCU SEP 2024 · 24BCAPJ Project · Semester 5
Tech stack
  • Next.js
  • TypeScript
  • Node.js
  • PostgreSQL
  • Prisma
  • Tailwind CSS
For educational purposes only

Unlock this project

Full PPT + speaker notes, source code and setup steps, READMEFIRST, instructions and all 16 viva answers.

One-time. No subscription, no auto-renew, no drama.

Project packs

Credits never expire and work on any project. Use one here, save the rest for your friend who “will pay you back”.

  1. Pinned

    @smart-hostel-management

    1 min

    Overview

    Smart Hostel Management System (SHMS) is a web application that replaces the paper registers, WhatsApp groups and Excel sheets most college hostels still run on. It gives three kinds of users — the warden (admin), the mess manager and students — one place to handle the daily work of a hostel.

    Wardens define blocks and rooms, allocate beds based on availability and preferences, and see live occupancy at a glance. Students raise maintenance complaints (plumbing, electrical, Wi-Fi, housekeeping) and track them from Open to Resolved instead of chasing the warden in the corridor. The mess manager records monthly mess attendance, and the system generates each student's bill automatically, tracks payments and flags dues. Notices reach every resident instantly, with no torn paper on a notice board.

    The project is built with Next.js (App Router) and TypeScript on the front end and server, PostgreSQL as the database and Prisma as the ORM. It demonstrates role-based access control, relational database design with proper normalisation, form validation, server-side rendering and report generation — which makes it a solid, viva-defensible choice for a BCA final-year web development project.

    Syllabus alignment

    BCU · SEP 2024

    24BCAPJ · Project · Semester 5 · 6 credits · 150 = SEE 120 (writing 20 + demo 60 + viva 20 + report 20) + IA 30 (3 reviews × 10)

    Subjects this project applies
    • 24BCA51 Web Programming
    • DBMS (MySQL)
    • 24BCA53 Software Engineering
    • Java / OOP
    How it is evaluated

    Team: individual or group ≤ 3

    hardbound report; open-source / licensed tools must be acknowledged

    Also fits: IGNOU BCA (revised) — BCSP-064 guidelines, GGSIPU 4-year BCA 2024, Kerala University FYUGP 2024, University of Madras CBCS 2023-24.

    1 min read · 16 viva questions

  2. @smart-hostel-management

    2 min

    Synopsis

    Abstract

    Hostel administration in most Indian colleges is still manual: room registers, complaint notebooks and hand-calculated mess bills. This leads to double allocations, lost complaints, billing disputes and no data for decision-making. The Smart Hostel Management System is a role-based web application that digitises room allocation, complaint handling, mess billing and notices. It is implemented with Next.js, TypeScript, PostgreSQL and Prisma, and follows a three-tier architecture.

    Introduction

    A typical college hostel houses 200–1,000 students across multiple blocks. The warden must know who stays where, which rooms have vacancies, which complaints are pending and which students have unpaid mess dues. When this information lives in registers, answering even a simple question ("How many beds are free in Block B?") takes a walk and a headcount. SHMS makes these answers available in seconds.

    Existing System

    • Room allocation is recorded in a physical register; vacancies are tracked mentally or on a whiteboard.
    • Complaints are written in a notebook or sent on WhatsApp; there is no status, owner or history.
    • Mess bills are calculated manually from attendance sheets, which is slow and error-prone.
    • Notices are pinned on a board and are easily missed.
    • Limitations: no single source of truth, no audit trail, duplicate or conflicting entries, no reports.

    Proposed System

    • A central database of blocks, rooms, students and allocations with real-time occupancy.
    • A complaint workflow (Open → In Progress → Resolved) with category, priority and timestamps.
    • Automatic mess-bill generation from attendance and a per-day rate, with payment tracking.
    • Digital notices targeted to all residents or a specific block.
    • Role-based dashboards for the warden, the mess manager and students.
    • Exportable reports (occupancy, pending complaints, dues) as CSV.

    Feasibility Study

    • Technical: All tools are open-source and well documented. The application runs on any machine that can run Node.js 20 and PostgreSQL, and can be deployed on free hosting tiers.
    • Economic: No licence cost. Hosting on a free/low tier costs ₹0–₹500 per month — cheaper than the paper and staff time it replaces.
    • Operational: The interface is a familiar web form flow that works on phones. Wardens need about 30 minutes of training; students need none.
  3. @smart-hostel-management

    1 min

    Problem statement

    College hostels manage hundreds of students, rooms and monthly payments using registers, notebooks and messaging apps. Because there is no central, consistent record, the same bed is sometimes allocated twice, vacancies are not visible, maintenance complaints get lost or ignored with no accountability, and mess bills are calculated by hand, causing frequent disputes and delayed collections. Students have no way to track the status of their requests, and the administration has no data to plan capacity, measure complaint resolution times or follow up on dues.

    There is a need for a secure, role-based web application that maintains a single source of truth for rooms and residents, provides a trackable complaint workflow, automates mess billing from attendance, and gives each stakeholder — warden, mess manager and student — a dashboard with exactly the information and actions they are allowed to see.

  4. @smart-hostel-management

    1 min

    Objectives & scope

    1. 01Design a normalised relational database (3NF) for blocks, rooms, students, allocations, complaints, mess bills, payments and notices.
    2. 02Implement secure authentication with hashed passwords and role-based access control for Warden, Mess Manager and Student roles.
    3. 03Automate room allocation with capacity checks so that no room is ever over-allocated.
    4. 04Provide a trackable complaint workflow with status, priority, assignment and resolution time.
    5. 05Generate monthly mess bills automatically from attendance data and track payments and dues.
    6. 06Publish targeted notices and provide role-specific dashboards and CSV reports.
    7. 07Build a responsive interface that works on mobile phones and desktops.

    Scope

    In scope

    • Single hostel/college with multiple blocks (boys/girls) and rooms of different capacities.
    • Three roles: Warden (administrator), Mess Manager and Student.
    • Room allocation, transfer and vacating; occupancy dashboard.
    • Complaint registration, assignment, status updates and history.
    • Monthly mess attendance entry, bill generation, payment recording and dues report.
    • Notices and CSV export of key reports.

    Out of scope (v1)

    • Online payment gateway integration (payments are recorded manually with a reference number).
    • Biometric/RFID attendance, visitor management and gate passes.
    • Multi-college (multi-tenant) deployment.
    • Native mobile apps (the web app is responsive instead).
  5. @smart-hostel-management

    1 min

    Methodology

    The project follows an Iterative (Incremental) SDLC model — the system is delivered in small working increments, and each increment goes through analysis, design, coding and testing. This suits an 8-week academic timeline because a working version exists early and feedback from the guide can be absorbed in the next iteration.

    PhaseWeeksActivitiesDeliverable
    Requirement analysis1Interview a warden/students, study the existing registers, list functional & non-functional requirementsSRS document
    System design2ER diagram, DFDs, use-case diagram, database schema, UI wireframesDesign document
    Increment 13–4Authentication, roles, blocks/rooms, allocationWorking allocation module
    Increment 25Complaints workflow, noticesComplaint module
    Increment 36Mess attendance, bill generation, payments, reportsBilling module
    Testing7Unit tests, integration tests, user acceptance with sample dataTest report
    Deployment & documentation8Deploy, prepare report, PPT and demoFinal submission

    Testing approach: unit tests for business rules (capacity check, bill calculation), integration tests for server actions against a test database, and manual black-box test cases for each screen, recorded in a test-case table (ID, input, expected output, actual output, status).

  6. @smart-hostel-management

    3 min

    Architecture & tech stack

    • Next.js
    • TypeScript
    • Node.js
    • PostgreSQL
    • Prisma
    • Tailwind CSS

    SHMS follows a three-tier architecture:

    1. Presentation tier — React Server Components and client components rendered by Next.js; styled with Tailwind CSS; works on mobile and desktop.
    2. Application tier — Next.js server actions and route handlers implement business rules (capacity checks, bill calculation, role checks). Input is validated with Zod before it reaches the database.
    3. Data tier — PostgreSQL accessed through the Prisma ORM, which provides type-safe queries and migrations.
    flowchart LR
      U[Browser: Warden / Mess Manager / Student] -->|HTTPS| N[Next.js App Router]
      N --> A[Auth & role middleware]
      A --> S[Server actions / route handlers]
      S --> V[Zod validation]
      V --> P[Prisma ORM]
      P --> DB[(PostgreSQL)]
      S --> R[CSV report generator]

    ER diagram

    erDiagram
      USER ||--o| STUDENT : "has profile"
      BLOCK ||--|{ ROOM : contains
      ROOM ||--o{ ALLOCATION : "is allocated in"
      STUDENT ||--o{ ALLOCATION : receives
      STUDENT ||--o{ COMPLAINT : raises
      ROOM ||--o{ COMPLAINT : "is about"
      STUDENT ||--o{ MESS_BILL : "is billed"
      MESS_BILL ||--o{ PAYMENT : "is settled by"
      USER ||--o{ NOTICE : publishes
    
      USER {
        string id PK
        string email UK
        string passwordHash
        string role
      }
      STUDENT {
        string id PK
        string userId FK
        string regNo UK
        string course
        int year
      }
      BLOCK {
        string id PK
        string name
        string gender
      }
      ROOM {
        string id PK
        string blockId FK
        string number
        int capacity
      }
      ALLOCATION {
        string id PK
        string studentId FK
        string roomId FK
        date fromDate
        date toDate
      }
      COMPLAINT {
        string id PK
        string studentId FK
        string category
        string status
        datetime resolvedAt
      }
      MESS_BILL {
        string id PK
        string studentId FK
        string month
        int daysPresent
        decimal amount
      }
      PAYMENT {
        string id PK
        string billId FK
        decimal amount
        string reference
      }
      NOTICE {
        string id PK
        string title
        string audience
      }

    DFD — Level 0 (context diagram)

    flowchart LR
      W([Warden]) -- rooms, allocations, notices --> SYS((Smart Hostel<br/>Management System))
      SYS -- occupancy & complaint reports --> W
      M([Mess Manager]) -- attendance, payments --> SYS
      SYS -- bills & dues report --> M
      ST([Student]) -- complaints, login --> SYS
      SYS -- room details, bills, notices, complaint status --> ST

    DFD — Level 1

    flowchart TB
      ST([Student]) --> P1[1.0 Authenticate]
      W([Warden]) --> P1
      M([Mess Manager]) --> P1
      P1 <--> D1[(D1 Users)]
      W --> P2[2.0 Manage rooms & allocation]
      P2 <--> D2[(D2 Rooms)]
      P2 <--> D3[(D3 Allocations)]
      ST --> P3[3.0 Handle complaints]
      W --> P3
      P3 <--> D4[(D4 Complaints)]
      M --> P4[4.0 Generate mess bills]
      P4 <--> D5[(D5 Bills & Payments)]
      P4 -- bill --> ST
      W --> P5[5.0 Publish notices]
      P5 --> D6[(D6 Notices)]
      D6 --> ST

    Use-case diagram

    flowchart LR
      W([Warden])
      M([Mess Manager])
      S([Student])
      subgraph SHMS[Smart Hostel Management System]
        UC1(Login)
        UC2(Manage blocks & rooms)
        UC3(Allocate / vacate room)
        UC4(Raise complaint)
        UC5(Update complaint status)
        UC6(Enter mess attendance)
        UC7(Generate bills & record payment)
        UC8(Publish notice)
        UC9(View dashboard & reports)
      end
      W --- UC1 & UC2 & UC3 & UC5 & UC8 & UC9
      M --- UC1 & UC6 & UC7 & UC9
      S --- UC1 & UC4 & UC9
  7. @smart-hostel-management

    7 modules

    Modules

    • Authentication & Roles

      Email/password login with bcrypt-hashed passwords and HTTP-only session cookies. Middleware checks the user's role (WARDEN, MESS_MANAGER, STUDENT) before every protected page and server action, so a student can never reach admin screens even by typing the URL.

    • Block & Room Management

      The warden creates blocks (with a gender restriction) and rooms with a number, type (single/double/triple) and capacity. The occupancy view shows each room's current residents and free beds, colour-coded as full, partial or empty.

    • Room Allocation

      Allocates a student to a room inside a database transaction that re-counts active allocations and rejects the request if the room is full or the block's gender does not match. Supports transfer and vacate, keeping full allocation history with from/to dates.

    • Complaint Management

      Students raise complaints with a category, description and priority. The warden assigns them and moves them through Open → In Progress → Resolved; every change is timestamped so the average resolution time can be reported. Students see live status on their dashboard.

    • Mess Attendance & Billing

      The mess manager enters days present per student per month (or bulk-uploads a CSV). The system calculates each bill as days present × per-day rate + extras, records part or full payments with a reference number, and marks bills as Paid, Partial or Due.

    • Notices

      The warden publishes notices to all residents or a specific block, with optional expiry dates. Students see active notices on their dashboard, newest first.

    • Dashboards & Reports

      Role-specific dashboards summarise occupancy, open complaints and outstanding dues. Reports (occupancy by block, pending complaints, dues list) can be filtered and exported as CSV for college records.

  8. @smart-hostel-management

    Locked

    Presentation

    12 slides with speaker notes. The outline below is free; the bullets, notes and the generated .pptx unlock with the project.

    1. Smart Hostel Management System
    2. Introduction
    3. Problem Statement
    4. Existing vs Proposed System
    5. Objectives
    6. Technology Stack
    7. System Architecture
    8. Database Design
    9. Modules
    10. Screenshots / Demo
    11. Testing
    12. Conclusion & Future Scope

    Bullets, speaker notes and the .pptx download unlock with the project.

    Presentation is locked: 12 slides, Speaker notes, .pptx download.

  9. @smart-hostel-management

    Locked

    Source code & how to run

    The complete source code, plus 7 setup steps for Next.js, TypeScript and Node.js.

    Source code and step-by-step setup unlock with the project.

    Source code & how to run is locked: 7 steps, Source code.

  10. @smart-hostel-management

    Locked

    READMEFIRST

    What to read, install and check before you run anything. Skipping it is how the demo fails live.

    The good part is behind this lock. Like every good viva answer.

    READMEFIRST is locked: 259 words, 1 min read.

  11. @smart-hostel-management

    Locked

    Instructions

    How to study it, adapt it and walk your examiner through it, step by step.

    The good part is behind this lock. Like every good viva answer.

    Instructions is locked: 308 words, 2 min read.

  12. @smart-hostel-management

    1 min

    Future scope

    • Online payments through UPI/Razorpay with automatic receipt generation and bill reconciliation.
    • QR/RFID-based mess attendance to remove manual entry completely.
    • Visitor and gate-pass management with parent approval via SMS/WhatsApp notifications.
    • Room preference and auto-allocation using rules (year, course, roommate preferences) or a matching algorithm.
    • Analytics — complaint trends by category and block, predicted maintenance needs, occupancy forecasting.
    • Multi-hostel / multi-college (multi-tenant) SaaS version with per-institution branding.
    • Progressive Web App with push notifications for notices and complaint updates.
  13. @smart-hostel-management

    8 sources

    References

    1. Next.js Documentation — App Router
    2. Prisma ORM Documentation
    3. PostgreSQL 16 Documentation
    4. OWASP Top 10 — Web Application Security Risks
    5. OWASP Password Storage Cheat Sheet
    6. Roger S. Pressman & Bruce R. Maxim, Software Engineering: A Practitioner's Approach, 9th ed., McGraw-Hill
    7. Ramez Elmasri & Shamkant B. Navathe, Fundamentals of Database Systems, 7th ed., Pearson
    8. Ian Sommerville, Software Engineering, 10th ed., Pearson

    Cite this bundle

    OnlyProjects. (2026). Smart Hostel Management System: BCA Web Development project bundle [Educational resource]. https://onlyprojects.online/projects/bca-web-smart-hostel-management

Slides, diagrams & files

12 slides. Titles are free; bullets, speaker notes and the .pptx unlock with the project.

  1. SLIDE 1

    Smart Hostel Management System

  2. SLIDE 2

    Introduction

  3. SLIDE 3

    Problem Statement

  4. SLIDE 4

    Existing vs Proposed System

  5. SLIDE 5

    Objectives

  6. SLIDE 6

    Technology Stack

  7. SLIDE 7

    System Architecture

  8. SLIDE 8

    Database Design

  9. SLIDE 9

    Modules

  10. SLIDE 10

    Screenshots / Demo

  11. SLIDE 11

    Testing

  12. SLIDE 12

    Conclusion & Future Scope

Architecture diagrams · 5

1
flowchart LR
  U[Browser: Warden / Mess Manager / Student] -->|HTTPS| N[Next.js App Router]
  N --> A[Auth & role middleware]
  A --> S[Server actions / route handlers]
  S --> V[Zod validation]
  V --> P[Prisma ORM]
  P --> DB[(PostgreSQL)]
  S --> R[CSV report generator]
2
erDiagram
  USER ||--o| STUDENT : "has profile"
  BLOCK ||--|{ ROOM : contains
  ROOM ||--o{ ALLOCATION : "is allocated in"
  STUDENT ||--o{ ALLOCATION : receives
  STUDENT ||--o{ COMPLAINT : raises
  ROOM ||--o{ COMPLAINT : "is about"
  STUDENT ||--o{ MESS_BILL : "is billed"
  MESS_BILL ||--o{ PAYMENT : "is settled by"
  USER ||--o{ NOTICE : publishes

  USER {
    string id PK
    string email UK
    string passwordHash
    string role
  }
  STUDENT {
    string id PK
    string userId FK
    string regNo UK
    string course
    int year
  }
  BLOCK {
    string id PK
    string name
    string gender
  }
  ROOM {
    string id PK
    string blockId FK
    string number
    int capacity
  }
  ALLOCATION {
    string id PK
    string studentId FK
    string roomId FK
    date fromDate
    date toDate
  }
  COMPLAINT {
    string id PK
    string studentId FK
    string category
    string status
    datetime resolvedAt
  }
  MESS_BILL {
    string id PK
    string studentId FK
    string month
    int daysPresent
    decimal amount
  }
  PAYMENT {
    string id PK
    string billId FK
    decimal amount
    string reference
  }
  NOTICE {
    string id PK
    string title
    string audience
  }
3
flowchart LR
  W([Warden]) -- rooms, allocations, notices --> SYS((Smart Hostel<br/>Management System))
  SYS -- occupancy & complaint reports --> W
  M([Mess Manager]) -- attendance, payments --> SYS
  SYS -- bills & dues report --> M
  ST([Student]) -- complaints, login --> SYS
  SYS -- room details, bills, notices, complaint status --> ST
4
flowchart TB
  ST([Student]) --> P1[1.0 Authenticate]
  W([Warden]) --> P1
  M([Mess Manager]) --> P1
  P1 <--> D1[(D1 Users)]
  W --> P2[2.0 Manage rooms & allocation]
  P2 <--> D2[(D2 Rooms)]
  P2 <--> D3[(D3 Allocations)]
  ST --> P3[3.0 Handle complaints]
  W --> P3
  P3 <--> D4[(D4 Complaints)]
  M --> P4[4.0 Generate mess bills]
  P4 <--> D5[(D5 Bills & Payments)]
  P4 -- bill --> ST
  W --> P5[5.0 Publish notices]
  P5 --> D6[(D6 Notices)]
  D6 --> ST
5
flowchart LR
  W([Warden])
  M([Mess Manager])
  S([Student])
  subgraph SHMS[Smart Hostel Management System]
    UC1(Login)
    UC2(Manage blocks & rooms)
    UC3(Allocate / vacate room)
    UC4(Raise complaint)
    UC5(Update complaint status)
    UC6(Enter mess attendance)
    UC7(Generate bills & record payment)
    UC8(Publish notice)
    UC9(View dashboard & reports)
  end
  W --- UC1 & UC2 & UC3 & UC5 & UC8 & UC9
  M --- UC1 & UC6 & UC7 & UC9
  S --- UC1 & UC4 & UC9

Files

Viva questions & answers

3 of 16 questions free. Explain each answer in your own words before you move on.

  1. Concept

    What is the difference between a server component and a client component in Next.js?

    A server component renders on the server and sends HTML to the browser; it can query the database directly and ships no JavaScript for itself. A client component (marked with "use client") is hydrated in the browser and can use state, effects and event handlers. In SHMS, dashboards and lists are server components, while forms with interactivity, like the complaint form, are client components.

  2. Concept

    Why did you choose PostgreSQL instead of MongoDB?

    The data is highly relational — students, rooms, allocations, bills and payments all reference each other — and we need transactions and foreign-key constraints to prevent problems like over-allocating a room. PostgreSQL is a mature relational database that provides ACID transactions, constraints and powerful joins, which suit this domain better than a document store.

  3. Concept

    What is an ORM and why did you use Prisma?

    An ORM (Object-Relational Mapper) lets us work with database rows as objects in our programming language instead of writing raw SQL everywhere. Prisma generates a type-safe client from the schema, so wrong column names or types are caught at compile time, and it manages schema changes through migrations.

+13 more questions

They and the answers unlock with the project. Try answering the ones above yourself first. Your examiner will.

For educational purposes only. Use this bundle to understand how the project works, then build and write your own. Submitting it verbatim is between you, your conscience and your external examiner.