The QR Distribution Verification System is a mobile-friendly web application that allows organizers to register and verify beneficiaries using QR codes.
It eliminates manual registers, token slips, and confusion during public distribution programs.
A simple smartphone becomes a real-time verification device.
Distribution programs often rely on manual tracking.
This creates serious issues:
- π§Ύ Paper lists get messy
- π Same person collects multiple times
- π Arguments at the counter
- π§ Genuine people miss their turn
- β± Slow queues
We needed a solution that was:
- simple
- fast
- usable by volunteers
- fair
Every card already contains a QR code.
So instead of giving people tokensβ¦
β‘ Use the QR as a unique digital identity.
Scan once β register Scan again β verify Give item β mark collected
No duplicates. No confusion.
Scan QR β Check database β Eligible β Give item β Mark collected
| Action | Result |
|---|---|
| First scan | Registers beneficiary |
| Second scan | Checks eligibility |
| After marking | Prevents duplicate collection |
- π· QR code scanning
- β Cloud database
- π« Duplicate prevention
- π Date & time tracking
- π¨βπΌ Admin dashboard
- π± Mobile-only operation
- π Works from any location
- π₯ Multiple volunteers supported
The admin panel displays:
- all registered QR IDs
- collection status
- timestamps
- duplicate detection
β = Collected β = Not collected
| Technology | Purpose |
|---|---|
| HTML / CSS / JS | Frontend |
| Firebase Hosting | Deployment |
| Firebase Firestore | Database |
| html5-qrcode | Scanner engine |
Go to:
https://console.firebase.google.com
Create a new project.
Build β Firestore Database β Create Database β Test Mode
Build β Hosting β Get Started
Install NodeJS first:
Then install Firebase CLI:
npm install -g firebase-tools
firebase login
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
firebase init
Select:
- Firestore
- Hosting
Public directory:
public
Single Page App β YES
Go to:
Firebase Console β Project Settings β Web App β SDK configuration
Copy:
const firebaseConfig = { ... }
Open:
public/index.html
Replace the existing firebaseConfig with yours.
firebase deploy
You will receive:
https://your-project.web.app
Open on phone β start scanning π
Default password:
123456
Change inside index.html:
if(pass!=="123456")
Collection:
families
Document stores:
- registered_date
- collected_date
- status
- Food distribution
- Relief camps
- Event check-in
- Token redemption
- Coupon validation
- Attendance tracking
You can modify:
- colors & theme
- language
- password
- UI text
- layout
Everything is in:
public/index.html
Pull requests are welcome.
Ideas:
- Offline support
- Multi-event support
- Export to Excel
- Native Android wrapper
Free to use for community and non-commercial purposes.
This project was created to solve a real-world operational problem.
Not as a tutorial.
Not as a demo.
But to make distribution fair, transparent, and respectful.
If it helps your community, the project achieved its purpose.
