Skip to content

Latest commit

Β 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’» LabSync β€” Lab Equipment Tracker

A simple, fast and secure way to report, manage and track computer-lab equipment problems.

LabSync is a lightweight web-based Lab Equipment Tracker designed for educational computer labs. Students can quickly report problems with a particular lab system, while authorized administrators can review, filter, update and delete complaints from a dedicated dashboard.

Built with HTML, CSS, JavaScript and Supabase, LabSync keeps the interface clean for students while giving lab administrators the tools they need to manage reported issues efficiently.


🌍 Live Preview

https://priyam-26.github.io/LabSync/


πŸ“Έ Screenshots

Here’s a look at LabSync in action β€” from submitting a complaint to managing it through the administrator dashboard.

πŸŽ“ Student Dashboard

The student-facing dashboard provides a clean and straightforward interface for reporting lab equipment issues.

Β 

πŸ” Admin Login

A dedicated login interface keeps the administrative dashboard accessible only to authorized users.

LabSync Admin Login


πŸ› οΈ Admin Dashboard

The admin dashboard provides an overview of reported issues along with search, filtering, status management and complaint controls.

LabSync Admin Dashboard


✨ What LabSync Does

πŸŽ“ Student Portal

Students can report an equipment/software problem in just a few steps:

  • Enter their name
  • Enter their board roll number
  • Select the lab room
  • Enter the affected system number
  • Describe the problem in a maximum of 100 words
  • Submit the complaint directly to the database
  • Receive an immediate confirmation after successful submission

Currently supported lab rooms:

  • πŸ–₯️ Lab 103
  • πŸ–₯️ Lab 115
  • πŸ–₯️ Lab 121

Students do not need to create an account to submit a complaint.

πŸ› οΈ Admin Dashboard

Authorized lab administrators get a dedicated dashboard where they can:

  • πŸ” Sign in securely through Supabase Authentication
  • πŸ“Š View complaint statistics
  • πŸ”Ž Search complaints
  • πŸ§ͺ Filter complaints by lab
  • 🚦 Filter complaints by status
  • βœ… Mark complaints as FIXED
  • πŸ”„ Reopen complaints when required
  • πŸ—‘οΈ Delete complaints
  • πŸ’Ύ Save multiple changes together
  • πŸšͺ Log out securely

The dashboard also keeps track of unsaved changes and asks for confirmation before potentially losing them.


🧩 Main Features

Feature Description
πŸ“ Complaint submission Students can report a problem without logging in
πŸ‘€ Student identification Stores student name and board roll number
🏫 Lab selection Supports Labs 103, 115 and 121
πŸ’» System tracking Records the affected computer/system number
✍️ 100-word limit Prevents unnecessarily long complaint descriptions
πŸ” Admin authentication Uses Supabase Auth for administrator login
πŸ“Š Dashboard statistics Shows total, open and fixed complaints
πŸ”Ž Search Quickly find complaints using keywords
πŸ§ͺ Lab filtering View complaints from a specific lab
🚦 Status filtering Separate OPEN and FIXED complaints
✏️ Status management Admins can update complaint status
πŸ—‘οΈ Complaint deletion Admins can remove unwanted records
πŸ›‘οΈ Row Level Security Database access is restricted with Supabase RLS
🧹 Automatic cleanup Fixed complaints older than 7 days are automatically removed

πŸ—οΈ Project Structure

LabSync-main/
β”‚
β”œβ”€β”€ πŸ“„ index.html                 # Student complaint portal
β”œβ”€β”€ πŸ“„ admin.html                 # Admin login & dashboard
β”œβ”€β”€ πŸ–ΌοΈ favicon.png               # Website favicon
β”‚
β”œβ”€β”€ πŸ“ css/
β”‚   β”œβ”€β”€ style.css                 # Student portal styling
β”‚   └── admin.css                 # Admin dashboard styling
β”‚
β”œβ”€β”€ πŸ“ js/
β”‚   β”œβ”€β”€ config.js                 # Supabase configuration
β”‚   β”œβ”€β”€ student.js                # Student portal logic
β”‚   └── admin.js                  # Admin dashboard logic
β”‚
└── πŸ“ supabase/
    └── database.sql              # Database schema, RLS & cleanup job

βš™οΈ Tech Stack

Frontend

  • HTML5 β€” page structure
  • CSS3 β€” responsive styling and layout
  • Vanilla JavaScript β€” application logic and interactions

Architecture

LabSync is intentionally lightweight:

Student
   β”‚
   β–Ό
Student Portal
(index.html + student.js)
   β”‚
   β”‚ Submit complaint
   β–Ό
Supabase
   β”‚
   β”œβ”€β”€ PostgreSQL β†’ complaints
   β”‚
   └── RLS policies
          β–²
          β”‚
Admin Dashboard
(admin.html + admin.js)
   β”‚
   β”œβ”€β”€ Search
   β”œβ”€β”€ Filter
   β”œβ”€β”€ Update
   └── Delete

🧹 Automatic Complaint Cleanup

LabSync includes an automated database cleanup job.

When a complaint is marked:

FIXED

its fixed_at timestamp is recorded.

Fixed complaints older than 7 days are then automatically deleted by the scheduled PostgreSQL job.

This keeps the active complaint database small and focused on recent issues.


πŸ”„ Complaint Lifecycle

A typical complaint moves through the following flow:

πŸ“ Student submits problem
          β”‚
          β–Ό
      πŸ”΄ OPEN
          β”‚
          β–Ό
πŸ› οΈ Admin works on the issue
          β”‚
          β–Ό
     🟒 FIXED
          β”‚
          β–Ό
🧹 Automatically removed
   after 7 days

🎨 Design Goals

LabSync focuses on a few simple principles:

  • ⚑ Fast β€” minimal dependencies and no unnecessary build system
  • 🧼 Clean β€” straightforward interface with focused workflows
  • πŸ“± Responsive β€” designed to remain usable across screen sizes
  • 🎯 Practical β€” built around an actual lab-management workflow
  • πŸ” Secure β€” database-level access control with RLS
  • πŸ› οΈ Maintainable β€” separate HTML, CSS, JavaScript and SQL files

πŸ“‹ Example Use Case

Imagine a student is working in Lab 115 and discovers that System 07 is unable to open VS Code.

Instead of manually informing a lab assistant:

Name: Priyam
Registration No.: 117xxxxxxx
Lab Room No.: 115
System No.: 07
Problem: VS Code is not opening on this computer.

The complaint is submitted β†’ stored in Supabase β†’ appears on the admin dashboard β†’ the administrator fixes the system β†’ marks it FIXED.

Simple. 🎯


πŸ“Œ Current Scope

LabSync currently focuses on complaint reporting and administrative tracking.

It does not currently include:

  • Student accounts
  • Email/SMS notifications
  • File/image attachments
  • Technician assignment
  • Repair-cost tracking
  • Detailed audit history
  • Multi-institution support

These can be added later if the project grows.


πŸ’‘ Possible Future Improvements

Some natural next steps could be:

  • πŸ”” Real-time admin notifications
  • πŸ“§ Email notifications when a complaint is fixed
  • πŸ“Ž Screenshot/image attachments
  • πŸ‘¨β€πŸ”§ Technician assignment
  • πŸ“ˆ Complaint analytics and trends
  • πŸ•’ Estimated resolution time
  • 🧾 Full complaint history
  • πŸ“± Installable PWA support
  • πŸŒ™ Dark mode
  • 🏫 Support for additional labs and departments

🀝 Contributing

Contributions and improvements are welcome.

A simple workflow:

git checkout -b feature/your-feature

Make your changes, test them locally, and submit a pull request.

When changing database behavior, remember to update:

supabase/database.sql

along with the relevant frontend code.


πŸ‘¨β€πŸ’» Project

LabSync β€” Lab Equipment Tracker

Built to make reporting lab equipment problems faster, clearer and easier to manage. πŸš€

Report it. Track it. Fix it. πŸ’»


πŸ‘¨β€πŸ’» Author

Priyam Prabhat
Computer Science Student | Web Development | Cybersecurity


⭐

If you find this project nice, you can give it a ⭐ on GitHub!

About

LabSync is a web-based lab equipment complaint management system that allows students to report issues and administrators to track, filter, update, and manage complaints. It provides role-based access, complaint status tracking, real-time updates, and an organized workflow for efficient issue resolution.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Contributors

Languages