Skip to content
danodomsPublic

About

QR code event attendance (PWA) web app enabling fast, reliable, and paperless check-ins

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Latest commit

 

History

268 Commits

Folders and files

Repository files navigation

Evento — QR code event attendance system for schools and universities

Evento — QR Code Attendance System for Schools & Universities

Open-source event check-in app. Scan a student ID QR code, log attendance in under a second.
A free replacement for pen-and-paper attendance sheets — installable as a PWA on any phone, no app store.

Case Study · Screenshots · Quick Start · Features

GitHub stars PWA React TypeScript Tailwind CSS


Why Evento

Universities still take event attendance with paper sign-in sheets. A single seminar with hundreds of students means a long queue at the door, unreadable handwriting, hours of manual encoding afterwards, and no reliable way to catch someone signing in for a friend.

Evento replaces that with a QR scan. Officers open the web app on their own phone, point it at a student ID, and attendance is recorded in real time — no hardware to buy, no app to install, no encoding afterwards.

Built for: student councils, university organizations, department events, seminars, general assemblies, school clubs, and any event that needs fast, verifiable check-in.

📖 Read the full case study: https://www.danodoms.com/case-studies/evento

✨ Features

Feature What it does
📷 QR code attendance scanning Scan existing student ID QR codes with any phone camera — check-in takes under a second.
📲 Installable PWA Add to home screen on Android, iOS, or desktop. No app store, no APK, no install friction for volunteers.
⚡ Real-time attendance records Every scan syncs instantly across all devices — multiple officers can scan at different doors simultaneously.
🔐 Role-based access control Main admin, secondary admin, and officer roles with scoped permissions so officers can scan but not alter records.
📊 Event management Create events, track attendance per event, and review who attended without manual encoding.
🔔 Instant feedback Toast notifications confirm every scan, so officers know immediately whether a check-in succeeded.
📱 Responsive on any device Works on budget Android phones, tablets, and desktops — the same URL for everyone.

📸 Screenshots

Evento dashboard showing live event attendance count and recent check-ins

QR code scanner scanning a university student ID for event check-in

Real-time attendance record list with student names and timestamps

Event creation and management screen in Evento attendance system

User management screen with admin and officer role permissions

Evento PWA installed on a mobile phone home screen

Attendance summary view for a university event in Evento

🛠️ Tech Stack

Layer Technology
Framework React + TypeScript
Styling Tailwind CSS + shadcn/ui
State Zustand
Data fetching TanStack Query (React Query)
QR scanning Html5Qrcode
Animation Framer Motion
Notifications React Toastify
PWA Service worker + web app manifest

⚡ Quick Start

Prerequisites: Node.js 18+ and npm.

# 1. Clone the repository
git clone https://github.com/domsdano/events-attendance.git
cd events-attendance

# 2. Install dependencies
npm install

# 3. Run the development server
npm start

Open the local URL printed in your terminal.

Build for production:

npm run build

Deploy the build output to Vercel, Netlify, Cloudflare Pages, or any static host. Serve over HTTPS — the browser camera API required for QR scanning will not work over plain HTTP.

📖 Usage

  1. Log in — admins and officers sign in with their credentials.
  2. Create an event — set the event name, date, and which officers can scan for it.
  3. Scan student IDs — open the scanner and point the camera at each student's ID QR code.
  4. Watch attendance live — records appear in real time across every logged-in device.
  5. Manage users — assign admin or officer roles and revoke access when an event ends.

🗺️ Roadmap

  • CSV / Excel export of attendance records
  • Offline-first scanning with background sync
  • Time-in / time-out tracking
  • Bulk student import
  • Docker deployment guide

Have a request? Open an issue.

❓ FAQ

Does it need special scanning hardware? No. Any phone with a camera works. Evento runs in the browser.

Does it work with our existing student IDs? Yes, as long as the ID has a QR code encoding the student number.

Can it work offline? Not yet — offline-first scanning is on the roadmap. It currently needs a connection to sync in real time.

Is it free? Yes, fully open source. Self-host it for free.

🤝 Contributing

Contributions are welcome — bug reports, feature ideas, and pull requests.

  1. Fork the repository on GitHub (use the Fork button).
  2. Clone your fork and create a branch:
    git clone https://github.com/YOUR-USERNAME/events-attendance.git
    cd events-attendance
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m "feat: add your feature"
  4. Push and open a pull request:
    git push origin feature/your-feature-name

Check the open issues for good places to start.

📄 License

MIT


Built by danodoms
⭐ If Evento is useful to you or your school, a star helps other organizations find it.

About

QR code event attendance (PWA) web app enabling fast, reliable, and paperless check-ins

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages