Skip to content

wongcyrus/ProvePresent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

165 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProvePresent

ProvePresent Logo

Peer-Verified Event Attendance

Attendees prove they're actually present by passing verification tokens to each other. No more proxy attendance or remote check-ins.


How It Works

  1. Organizer starts a session → Entry chains are seeded to random attendees
  2. Attendees pass the chain → Scan QR codes from others to verify presence
  3. Chain completes → Everyone who participated is marked present
  4. Exit verification → Same process when event ends

The chain mechanism ensures attendees must be physically present to participate - you can't pass a QR code to someone who isn't there.


Key Features

Feature Description
Chain Verification Peer-to-peer token passing proves physical presence
Real-time Dashboard Organizers see live attendance as chains progress
Live Quiz AI generates questions from presentation slides (GPT-4)
Seating Analysis Capture photos to analyze venue arrangement
Geolocation Optional location validation with configurable radius
Recurring Sessions Daily, weekly, or monthly schedules
Export CSV/JSON with full audit trail

Tech Stack

Frontend:     Next.js 15 + React 18 + TypeScript
Backend:      Azure Functions v4 (Node.js 22)
Database:     Azure Table Storage (16 tables)
Real-time:    Azure SignalR Service
AI:           Azure OpenAI + Foundry Agent Service
Auth:         Email OTP (Self-managed JWT)
Hosting:      Azure Static Web Apps

Quick Start

Deploy to Azure

  1. Setup JWT configuration

    ./setup-jwt-config.sh
  2. Verify SMTP credentials

    # Ensure .otp-email-credentials exists with valid SMTP settings
    cat .otp-email-credentials
  3. Deploy

    ./deploy-full-production.sh

See Quick Start Guide for complete instructions.

Local Development

npm install
./start-local-dev.sh

# Frontend: http://localhost:3000
# Backend:  http://localhost:7071

Project Structure

├── backend/           # Azure Functions (44+ endpoints)
├── frontend/          # Next.js application
├── infrastructure/    # Bicep IaC templates
├── docs/
│   ├── architecture/  # System design
│   ├── deployment/    # Deploy guides
│   └── development/   # Dev setup
└── scripts/           # Utilities

Documentation


Authentication

Users are assigned roles through the ExternalOrganizers table:

Role Access
Organizer Create and manage events, view attendance
Attendee Join events, participate in verification chains

To add organizers, use the manageExternalOrganizers API endpoint or Azure Portal to add emails to the ExternalOrganizers table.


Status

Version: 3.0
Status: ✅ Production Ready

Component Count
Backend Functions 44+
Frontend Components 22+
Database Tables 16

License

MIT


Last Updated: March 6, 2026

About

Attendees prove they're actually present by passing verification tokens to each other. No more proxy attendance or remote check-ins.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors