QAMS (Smart QR Asset Management System) is an enterprise-grade physical asset registry and tracking platform built with vanilla PHP and MySQL. It features role-based access control, automated sequential serial prefixing, client-side dynamic QR generation, sub-component mapping, and a millimeter-calibrated sticker printing engine.
- Multi-Tenant Asset Registry: Isolated portals with specific controls for Admins, Staff/Teachers, and Students/Custodians.
- Smart QR Code Generation: Instant client-side high-resolution QR matrix rendering using
QRCodeJSlinked to dynamic scanning endpoints. - ** millimetre-Calibrated Sticker Output**: Dynamic 3-column sticker print previews optimized for physical adhesive label stock.
- Sub-Component Registry: Hierarchical hardware accessory linking (e.g. CPU, RAM, Monitor) mapped under a single master QR serial key.
- Mobile Telemetry Lookup: Mobile-friendly scanner lookup endpoints allowing quick checks on physical asset status and assignments via any smartphone.
- Advanced Security & Verification: Integrated reCAPTCHA Enterprise verification, strict session CSRF protection, inputs sanitization, and SQL Injection prevention using PDO statements.
- Modern UI Dashboard: Rich dashboard experience built with custom CSS, containing stats, interactive forms, and quick filters.
- Backend: PHP 8.x (Vanilla, MVC Controller pattern)
- Database: MySQL / MariaDB (via PDO)
- Frontend: HTML5, Vanilla JavaScript, CSS3 (Custom design system), Bootstrap 5 (Forms and layouts)
- Libraries: QRCodeJS
- Server: Apache (with custom
.htaccessclean URL rewrite engine)
- Apache Web Server (with
mod_rewriteenabled) - PHP 8.0 or higher
- MySQL / MariaDB
- Import the database schema setup into your MySQL server:
CREATE DATABASE qr_serial_db; USE qr_serial_db; /* Import your SQL dump tables here */
- Copy
.env.exampleto create your custom.envfile at the root:cp .env.example .env
- Open
.envand fill in your database, SMTP, and reCAPTCHA credentials:# Database Credentials DB_HOST=localhost DB_NAME=qr_serial_db DB_USER=your_db_user DB_PASS=your_db_password # SMTP Mail Settings SMTP_HOST=your_mail_host SMTP_PORT=587 SMTP_USER=your_smtp_user SMTP_PASS=your_smtp_password SMTP_FROM=your_sender_email # reCAPTCHA Enterprise Settings RECAPTCHA_SITE_KEY=your_site_key RECAPTCHA_SECRET_KEY=your_secret_key
- Ensure your Apache Virtual Host is pointing to the project directory and has
AllowOverride Allenabled to let the.htaccessrules handle extensionless URLs (e.g./logininstead of/login.php).
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).