SNSU iReserve.
A laboratory equipment reservation system for Surigao del Norte State University. Students reserve equipment from an online catalog, faculty and staff approve each request, and a signed QR code checks the equipment out and back in.
A problem worth exploring.
Borrowing equipment for a lab class usually means a paper request, someone to sign it, and a trip to the counter, with each loan kept track of by hand. That makes it hard for students to know what is free before they ask, and for staff to know what is out and who has it. SNSU iReserve moves the whole loan online, from the first request to the return.
Less friction. More intention.
Treat a reservation like an online order, and the pickup like a ticket check. A student browses the catalog, adds equipment to a cart, and checks out with a date, a time, and a purpose. Faculty, staff, or the admin approve the request, and the student’s reservation comes with a QR code the system has signed. At the counter, staff scan it with a camera or from an uploaded image to hand the equipment over, and scan it again when it comes back. Each step reaches the people involved by email and in the app.
- An equipment catalog with a cart, so one reservation covers several items for a set date, time, and purpose.
- Approval by faculty, staff, or the admin, with each change sent to the student by email and in the app.
- A signed QR code for every reservation, scanned by camera or from an image to issue and return equipment.
- An admin panel for students, departments, equipment, and user roles, with requested and issued equipment at a glance.
What the system enables.
- Before
- Equipment requests and approvals ran on paper, and loans were tracked by hand at the counter.
- With SNSU iReserve
- Students reserve equipment online and pick it up with a QR code. Faculty and staff approve, issue, and take back each item in the same system, and the admin sees every reservation in one place.
What this project taught me.
A QR code is only as trustworthy as what it carries. Putting the whole reservation in it would have made the code dense and slow to scan, and anyone could have made one of their own. So it holds only the reservation’s code and a short signature made with the app’s secret key. The scanner checks that signature before it looks the reservation up, so an edited or made-up code is turned away at the counter, and the code stays simple enough to read from a phone screen.
BUILT WITH
- Web app
- Vue, JavaScript, Inertia.js, Ziggy, Vite
- Styling
- Tailwind CSS
- Backend
- PHP, Laravel, Laravel Breeze
- QR codes
- Simple QrCode, jsQR, ZXing decoder, Camera API
- Notifications
- Laravel Notifications, SMTP email
- Database
- MySQL, Eloquent ORM
- Live demo
- Vercel
Manzana Collection
Everyday fashion, reserved online and paid for at pickup.
