QR code ticket verification app for event security staff. Scan attendee tickets in real-time to validate entry and prevent duplicate use.
- QR Code Camera Scanning — instant verification via device camera
- Manual Code Entry — fallback for damaged or unreadable QR codes
- Real-Time Verification — checks ticket validity against the backend (valid / already scanned / invalid / refunded)
- Audio & Vibration Feedback — immediate sensory confirmation for scan results
- Scan History Log — running log of all scans during a session
- Mobile-First Design — optimized for handheld use by security guards at venue entrances
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3, Vanilla JS |
| QR Scan | html5-qrcode (CDN) |
| Icons | Font Awesome 6 (CDN) |
| Font | Inter (Google Fonts) |
| API | Connects to Tickify Java backend |
security-scanner/
├── index.html # Main scanner interface
├── css/
│ └── scanner.css # Scanner-specific styles (purple/pink gradient theme)
├── js/
│ ├── config.js # API base URL configuration
│ └── scanner.js # Scanner logic, camera handling, verification
└── README.md
The scanner is served automatically by the Tickify server:
cd admin-console
# Windows
compile.bat && run.bat
# Linux/macOS
./compile.sh && ./run.shAccess at http://localhost:3000/scanner/
Deploy the security-scanner/ folder to any static web server (Apache, Nginx, GitHub Pages, etc.) and update the API URL:
// js/config.js
window.TICKIFY_API_BASE = 'http://your-server:3000/api'| Field | Value |
|---|---|
| Username | security |
| Password | security123 |
- Security staff logs in with scanner credentials
- Points the device camera at an attendee's ticket QR code
- The scanner reads the ticket code and sends a verification request to the API
- The backend responds with the ticket status:
- Valid — ticket is marked as scanned, entry allowed
- Already Scanned — duplicate entry attempt, entry denied
- Invalid — ticket code not found
- Refunded — ticket has been refunded, entry denied
- Audio beep + vibration gives immediate feedback
- Each scan is logged in the session history
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/security/login |
Authenticate security staff |
| GET | /api/tickets/verify/:code |
Check ticket validity |
| POST | /api/tickets/scan/:code |
Mark ticket as scanned |
For production deployment on Oracle Linux VM with Apache2, see the Deployment Guide.
This scanner is part of the Tickify platform and is also available as a standalone repo:
- GitHub: Letsoperate/Tickify-Scanner