Team Members:
- BT2024031 - Devaang Rastogi
- BT2024038 - Sushmit Biswas
- BT2024195 - Romir Gupta
- BT2024209 - Saisathvik Kadimisetty
- IMT2024011 - Siddharth Brijesh Tripathi
- IMT2024068 - Divyanshu Ghosh
- 1. Introduction
- 2. System Overview
- 3. System Features
- 4. API Endpoints
- 5. Data Storage Using Files
- 6. Data Model (Classes)
- 7. Non-Functional Requirements
- 8. Technology Stack
- 9. Sample Input/Output
- 10. Assumptions
- 11. Limitations
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.
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).
- Students staying in the hostel
- Hostel staff (cleaning staff, technicians, tuck shop staff)
- Hostel administrators managing operations and logs
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.
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
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
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
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
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
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
| 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 |
JSON and/or CSV
- laundry.json
- cleaning.json
- maintenance.json
- orders.json
- lostitems.json
- claims.json
- complaints.json
- messages.json
- students.json
- staff.json
- notifications.json
- auditlog.json
Example (laundry.json entry):
{
"jobId": 101,
"studentId": "BT2024038",
"weight": 3.5,
"serviceType": "Normal Wash",
"status": "Washing",
"amount": 70.0
}
- jobId : int
- studentId : String
- weight : double
- serviceType : String
- status : String
- amount : double
- requestId : int
- studentId : String
- roomNumber : String
- preferredSlot : String
- status : String
- requestId : int
- studentId : String
- issueType : String
- description : String
- status : String
- technicianId : String
- orderId : int
- studentId : String
- items : List
- status : String
- timestamp : String
- itemId : int
- itemName : String
- description : String
- foundLocation : String
- foundDate : String
- claimed : boolean
- claimId : int
- itemId : int
- studentId : String
- status : String
- complaintId : int
- studentId : String
- category : String
- description : String
- status : String
- messageId : int
- complaintId : int
- senderId : String
- message : String
- timestamp : String
- studentId : String
- name : String
- roomNumber : String
- phone : String
- staffId : String
- name : String
- role : String
- availability : boolean
- notificationId : int
- studentId : String
- message : String
- timestamp : String
- logId : int
- operation : String
- details : String
- timestamp : String
- 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.
- Programming Language: Java
- Framework: Spring Boot
- Build Tool: Maven
- IDE: IntelliJ IDEA
- Testing Tool: Postman
- Storage: File Handling (JSON/TXT/CSV)
{
"studentId": "BT2024031",
"weight": 4.0,
"serviceType": "Normal Wash"
}
{
"status": "success",
"message": "Laundry job created successfully",
"jobId": 102
}
- Students will know their student ID and room number.
- Only admins can assign staff or technicians.
- No SQL/No relational database; only file-based storage.
- No real-time UI — only APIs.