Information Technology
IT Service Desk with SLA Tracking for a College IT Helpdesk
Ticket lifecycle, SLA clocks and automatic escalation for a college IT support cell — no more sticky notes
- JavaScript
- React
- Node.js (Express)
- +3
Faculty book lab slots online and the HOD sees which labs, machines and hours are actually used
Mapped to your syllabusAnna University Regulation 2021 · CS3811 Project Work / Internship · Semester 8LabBook is a web application that manages the booking of computer labs in an engineering college and, for the first time, measures how those labs are actually used. A typical college runs 10–14 labs of 30–70 machines each — programming, database, project and IoT labs — booked for classes, practical exams, workshops and placement training. Today that booking lives in a paper register or Excel sheet, so two faculty routinely arrive to find the same lab promised to both, evening slots go unused because nobody knows they are free, and the department buys machines with no utilisation data.
The system keeps a lab directory (capacity, machines, installed software), shows a weekly slot grid for every lab, and lets faculty request a slot online. The lab in-charge approves or rejects, and the system blocks any booking that clashes with the class timetable (imported from a CSV) or an approved booking. Because every booking is a database row, the analytics module can answer questions the register never could: utilisation per lab, busiest hours of the week, how much evening capacity sits idle, and whether the machine count matches demand.
It is built with Python and Django on MySQL — the Anna R2021 stack (CCS375 Web Technologies, CS3481 DBMS Lab) — with server-rendered HTML pages and Chart.js, an industry-standard charting library, for the dashboards. The scope is deliberately compact, which suits a beginner team: clean CRUD, one approval workflow and one analytics module, each fully implemented and defensible.
Syllabus alignment
An engineering college with 12 computer labs and roughly 700 machines books labs through a register held by each lab in-charge. Because faculty cannot see the register, bookings are made by phone or visit, and clashes — two approvals for the same lab and slot — surface only when both batches arrive. Regular class timetables are not linked to the register, so ad-hoc bookings sometimes displace scheduled classes, and evening slots stay dark because nobody knows they are free. When the department requests new machines, it cites anecdotes, because no record of utilisation exists.
There is a need for a simple, role-based web application that maintains a lab directory, lets faculty book slots online, rejects clash-prone bookings automatically against both the class timetable and approved bookings, and converts booking history into utilisation analytics the HOD can use for timetabling and procurement.
Computer labs are among the most expensive shared resources of an engineering college, yet most colleges still book them through a register kept by the lab in-charge. This causes double bookings, unused evening capacity and — most damaging — procurement decisions taken with no utilisation data. LabBook is a Django + MySQL web application that digitises lab booking with clash detection and produces usage analytics: utilisation per lab, peak hours, idle capacity and software-demand signals. Three roles use it: the HOD/admin who owns labs and reports, the lab in-charge who approves bookings, and faculty who request slots.
Labs serve fixed class timetables and ad-hoc requests — remedial classes, project work, placement tests, workshops and practical-exam slots. The register cannot reconcile the two: it is not visible to everyone, it cannot warn about clashes, and it records bookings but not usage. The result is familiar to every department: a booked-but-empty lab while another turnaway happens next door, and a new-lab proposal justified by anecdote.
In scope
Out of scope (v1)
The team follows the Incremental SDLC model — three small increments, each ending in something runnable that the guide reviews. The 12-week plan fits the CS3811 semester window (10 credits, ~300 periods of project work in Semester 8).
| Phase | Weeks | Activities | Deliverable |
|---|---|---|---|
| Requirements & survey | 1–2 | Interview the lab in-charge and HOD; study the register and timetable formats; list requirements | Requirement list + synopsis |
| Design | 3–4 | ER diagram, schema in Django models, wireframes, clash-rule definition | Design document |
| Increment 1 | 5–6 | Auth + roles, lab directory, weekly slot grid | Working booking view |
| Increment 2 | 7–9 | Booking requests, approval workflow, clash validation, CSV timetable import | Complete booking workflow |
| Increment 3 | 10–11 | Analytics queries, Chart.js dashboards, CSV export; system + acceptance testing | Analytics module + test report |
| Documentation & demo | 12 | Final report, slides, demo rehearsal | CS3811 submission |
Testing approach: unit tests for the clash rules and utilisation maths; integration tests for the booking flow through Django's test client; and a black-box test table for each screen. The critical test is adversarial — two overlapping requests for the same lab/slot, where exactly one must win.
LabBook uses Django's MTV (Model–Template–View) pattern, a three-tier structure in which Django itself provides the application tier and the ORM is the only path to the database.
transaction.atomic block plus a uniqueness constraint makes double booking impossible even under concurrent requests.flowchart LR
U["Browser: HOD / Lab In-charge / Faculty"] -->|HTTPS| V[Django views and forms]
V --> R[Role and permission checks]
R --> B[Booking rules - clash validation]
B --> O[Django ORM]
O --> DB[(MySQL)]
V --> J[JSON endpoints]
J --> C[Chart.js dashboards]erDiagram
USER ||--o{ BOOKING : requests
USER ||--o{ BOOKING : "approves"
LAB ||--o{ BOOKING : "is booked in"
LAB ||--o{ CLASS_SLOT : hosts
LAB ||--o{ LAB_SOFTWARE : "has installed"
USER {
int id PK
string name
string email UK
string role
}
LAB {
int id PK
string name
string block
int machineCount
string inChargeId FK
}
LAB_SOFTWARE {
int id PK
int labId FK
string name
string version
}
CLASS_SLOT {
int id PK
int labId FK
string dayOfWeek
int period
string className
string subject
}
BOOKING {
int id PK
int labId FK
int requesterId FK
date bookingDate
int slot
string purpose
int batchSize
string status
string approverRemark
}Design points to defend in the viva: the class timetable (CLASS_SLOT) is kept separate from BOOKING because one is fixed by the department and the other is a request that changes state; the unique constraint on (lab, date, slot) among active bookings is the last line of defence against double booking; and utilisation is computed from stored bookings, so reports need no extra logging.
Module 01
Django authentication with three roles enforced by decorators and permission checks on every view: Faculty can only raise and view bookings; Lab In-charge manages their labs; HOD/Admin manages labs, software lists and users. Includes the lab directory screens — name, block, machine count, installed software — and the CSV/seeder that loads 12 labs with realistic data for demos.
Module 02
The core module: a weekly slot grid per lab, booking requests with purpose and batch size, and the lab in-charge's approve/reject queue with remarks. Every request passes the clash validator — it must not overlap an approved booking or a class-timetable slot — and the write happens inside a transaction with a uniqueness constraint on (lab, date, slot), so even two simultaneous requests cannot double-book.
Module 03
CSV import of the semester class timetable into CLASS_SLOT with a validation preview, so regular classes block their labs automatically. The analytics module computes booked hours and utilisation percentage per lab and per weekday-hour, finds the peak hours and idle evening capacity, renders the heatmap and bar charts with Chart.js, and exports any report as CSV for department meetings.
Slide 1
LabBook — Computer Lab Booking & Usage Analytics
Slide 2
Context & Problem Statement
Slide 3
Objectives
Slide 4
Existing vs Proposed System
Slide 5
Technology Stack
Slide 6
System Architecture
Slide 7
Database Design
Slide 8
Booking & Approval Workflow
Slide 9
Usage Analytics
Slide 10
Testing
Slide 11
Conclusion & Future Scope
Bullets, speaker notes and the .pptx · ₹2,000
Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.
Django gives us authentication, an ORM, form validation and an admin interface out of the box, which matches a booking system's needs exactly — we did not want to assemble those pieces by hand. It is also the web framework covered in CCS375 Web Technologies, so the team could build on taught material, and its MTV pattern keeps models, views and templates cleanly separated.
Model–Template–View: the Model layer defines entities like Lab and Booking as Python classes that the ORM maps to MySQL tables; the View layer contains the request logic — role checks, clash validation, analytics queries; the Template layer renders the HTML the browser sees. A booking request flows from a template form to a view, which validates it and writes through the model.
SQLite is fine for a single-user demo, but the college deployment has many concurrent users and the clash rule must hold under concurrency. MySQL provides row-level locking, transactions and a real uniqueness constraint, so two simultaneous booking requests are serialised by the database itself. We keep a SQLite mode only as a zero-setup fallback for first runs.
+11 more questions, with answers
Unlocks with the project · ₹2,000
Unlock for ₹2,000What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.
Unlocks with the project · ₹2,000
Unlock for ₹2,000How to study it, adapt it and walk your examiner through it, step by step.
Unlocks with the project · ₹2,000
Unlock for ₹2,000OnlyProjects. (2026). Computer Lab Booking and Usage Analytics System for an Engineering College: B.Tech / B.E. Information Technology project bundle [Educational resource]. https://onlyprojects.online/projects/btech-it-lab-booking-usage-analytics
Keep browsing
Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.
Information Technology
Ticket lifecycle, SLA clocks and automatic escalation for a college IT support cell — no more sticky notes
Information Technology
Deploy one service two ways, measure downtime, errors and switch time, and pick a winner with data
Cyber Security
Flows, top talkers and scan indicators for the lab's own network — headers only, no blocking, full history
Mechanical Engineering
A human-powered spiked-roller dehusker for small coconut growers around Pollachi — designed, fabricated and tested for ₹ under 20,000
Aerospace / Aeronautical
Build a subsonic test tunnel on a student budget, then trace lift and drag on a 3D-printed NACA 0012 against theory
Agricultural Engineering
Irrigates vegetable beds by soil-moisture thresholds instead of habit, and proves every litre with a flow meter