Skip to content

sidtricoder/campus-connect

Repository files navigation

Software Requirements Specification (SRS)

Project Title: CampusConnect – Integrated Hostel Service & Operations Management System

Team Members:

  • BT2024031 - Devaang Rastogi
  • BT2024038 - Sushmit Biswas
  • BT2024195 - Romir Gupta
  • BT2024209 - Saisathvik Kadimisetty
  • IMT2024011 - Siddharth Brijesh Tripathi
  • IMT2024068 - Divyanshu Ghosh

Table of Contents


1. Introduction

1.1 Purpose

The purpose of this project is to create a unified system that automates and manages multiple hostel-related services such as laundry processing, room cleaning, maintenance scheduling, tuck shop operations, lost-and-found tracking, and a student complaint & discussion platform. The system ensures smooth communication between students and hostel staff, reduces manual workload, and improves operational efficiency.


1.2 Scope

The system will provide the following functionalities:

  • Laundry request creation, tracking, and payment calculation
  • Room cleaning slot booking and staff assignment
  • Maintenance request scheduling and technician allocation
  • Digital tuck shop ordering and status notifications
  • Lost & Found item logging, browsing, and claim verification
  • Complaint registration with integrated discussion threads

The backend will be built in Java + Spring Boot, and data will be stored using file handling (TXT/CSV/JSON).


1.3 Intended Users

  • Students staying in the hostel
  • Hostel staff (cleaning staff, technicians, tuck shop staff)
  • Hostel administrators managing operations and logs

2. System Overview

The system will accept inputs using REST API endpoints, process data through a modular architecture consisting of Model → Service → Controller, and store all information using file handling (TXT/CSV/JSON). Each module operates independently while sharing common components such as Notification and Audit Logging.


3. System Features


3.1 Feature 1: Laundry Management

Description: Manages the entire lifecycle of a laundry request from creation to completion. Supports weight-based billing, job queueing, and status tracking (Received → Washing → Drying → Ready).

Functionalities:

  • Create new laundry job with weight and service type
  • Update job status
  • Calculate due amount
  • Notify student on completion

3.2 Feature 2: Room Cleaning Scheduling

Description: Allows students to book room-cleaning slots. Admin assigns a staff member, and the system tracks job status until completion.

Functionalities:

  • Book cleaning slot
  • Auto-assign or manually assign cleaning staff
  • Track cleaning progress
  • Notify student when cleaning is completed

3.3 Feature 3: Maintenance & Repair Scheduling

Description: Students can report issues (electrical, plumbing, furniture). System assigns an available technician and logs the repair status.

Functionalities:

  • Submit maintenance request
  • Technician assignment
  • Track repair progress
  • Maintain repair history

3.4 Feature 4: Tuck Shop Food Ordering

Description: Students can place tuck shop orders online. Staff can mark orders as “Preparing” → “Ready”.

Functionalities:

  • Create food order
  • Manage order queue
  • Update order preparation status
  • Notify student when order is ready

3.5 Feature 5: Lost & Found Management

Description: Manages items found in hostel premises. Staff logs items; students can browse and raise claim requests.

Functionalities:

  • Add found item entry
  • Mark item as claimed/unclaimed
  • Students raise claim requests
  • Admin verifies claim

3.6 Feature 6: Student Complaint System + Discussion Forum

Description: Students can file complaints (noise, cleanliness, admin issues). Each complaint has a discussion thread for comments by students and admin.

Functionalities:

  • Submit complaint
  • Post discussion messages
  • Track complaint resolution
  • Maintain conversation thread

4. API Endpoints

Method Endpoint Description
POST /api/laundry Create new laundry job
PUT /api/laundry/{id}/status Update laundry status
POST /api/cleaning Create cleaning request
PUT /api/cleaning/{id}/assign Assign cleaning staff
POST /api/maintenance Submit maintenance request
PUT /api/maintenance/{id}/status Update maintenance status
POST /api/orders Place tuck shop order
PUT /api/orders/{id}/status Update order status
POST /api/lostitems Log found item
POST /api/claims Submit claim request
POST /api/complaints Register complaint
POST /api/complaints/{id}/messages Add message to discussion thread

5. Data Storage Using Files

5.1 File Type

JSON and/or CSV

5.2 File Names

  • laundry.json
  • cleaning.json
  • maintenance.json
  • orders.json
  • lostitems.json
  • claims.json
  • complaints.json
  • messages.json
  • students.json
  • staff.json
  • notifications.json
  • auditlog.json

5.3 File Format Example

Example (laundry.json entry):

{
  "jobId": 101,
  "studentId": "BT2024038",
  "weight": 3.5,
  "serviceType": "Normal Wash",
  "status": "Washing",
  "amount": 70.0
}

6. Data Model (Classes)

Class: LaundryJob

  • jobId : int
  • studentId : String
  • weight : double
  • serviceType : String
  • status : String
  • amount : double

Class: CleaningRequest

  • requestId : int
  • studentId : String
  • roomNumber : String
  • preferredSlot : String
  • status : String

Class: MaintenanceRequest

  • requestId : int
  • studentId : String
  • issueType : String
  • description : String
  • status : String
  • technicianId : String

Class: FoodOrder

  • orderId : int
  • studentId : String
  • items : List
  • status : String
  • timestamp : String

Class: LostItem

  • itemId : int
  • itemName : String
  • description : String
  • foundLocation : String
  • foundDate : String
  • claimed : boolean

Class: ClaimRequest

  • claimId : int
  • itemId : int
  • studentId : String
  • status : String

Class: Complaint

  • complaintId : int
  • studentId : String
  • category : String
  • description : String
  • status : String

Class: DiscussionMessage

  • messageId : int
  • complaintId : int
  • senderId : String
  • message : String
  • timestamp : String

Class: Student

  • studentId : String
  • name : String
  • roomNumber : String
  • phone : String

Class: StaffMember

  • staffId : String
  • name : String
  • role : String
  • availability : boolean

Class: Notification

  • notificationId : int
  • studentId : String
  • message : String
  • timestamp : String

Class: AuditLog

  • logId : int
  • operation : String
  • details : String
  • timestamp : String

7. Non-Functional Requirements

  • Performance: API should respond within 1–2 seconds.
  • Reliability: System should recover safely from file read/write failures.
  • Security: Role-based access for staff and admin.
  • Maintainability: Modular code structure (separate services for each feature).
  • Usability: Simple API-based usage; admin panel optional.

8. Technology Stack

  • Programming Language: Java
  • Framework: Spring Boot
  • Build Tool: Maven
  • IDE: IntelliJ IDEA
  • Testing Tool: Postman
  • Storage: File Handling (JSON/TXT/CSV)

9. Sample Input/Output

Sample Request (POST JSON):

{
  "studentId": "BT2024031",
  "weight": 4.0,
  "serviceType": "Normal Wash"
}

Sample Response:

{
  "status": "success",
  "message": "Laundry job created successfully",
  "jobId": 102
}

10. Assumptions

  • Students will know their student ID and room number.
  • Only admins can assign staff or technicians.

11. Limitations

  • No SQL/No relational database; only file-based storage.
  • No real-time UI — only APIs.

About

Integrated Hostel Service & Operations Management System (Laundry, Cleaning, Maintenance, Tuck Shop, Lost & Found, Complaints)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages