QR-based attendance tracking app with anti-fraud controls
1.3K
Repository on GitHub: github.com/mirzapolat/attendly
Attendly is a QR-based attendance tracking app with anti-fraud controls like rotating codes, location verification, and device fingerprinting. It is built with React + Vite on the front end and Supabase (Auth, Postgres, Realtime, Edge Functions) on the back end.
/: marketing landing page./auth: sign in / sign up./dashboard: admin overview (events + seasons)./events/new: create event./events/:id: event management + QR display./attend/:id?token=...: attendee check-in form./excuse/:eventId/:token: excused attendance form./seasons/:id: season analytics and member stats./settings: profile, theme, and account deletion./moderate/:eventId/:token: moderator view for attendance management.src/pages: route-level UI (auth, dashboard, events, seasons, attend, moderator, settings).src/components: shared UI + event/moderation controls.src/integrations/supabase: client and generated types.supabase/migrations: database schema and RLS policies.supabase/functions: Edge Functions for attendance, moderation, excused attendance, and account deletion.public: static assets.profiles: admin profiles + theme color.seasons: groups of events.events: core event info + QR/security flags + moderation settings.attendance_records: attendee submissions + status + fingerprint + location.moderation_links: shareable tokens for moderator access.excuse_links: shareable tokens for excused attendance.This guide covers two scenarios:
From this repository:
supabase login
supabase link # Link your project
supabase db push
supabase functions deploy moderator-state moderator-action attendance-start attendance-submit excuse-start excuse-submit --no-verify-jwt
supabase functions deploy delete-account
In Supabase -> Authentication -> URL Configuration:
docker run --rm -p 8080:80 \
-e VITE_SUPABASE_URL="https://<project-ref>.supabase.co" \
-e VITE_SUPABASE_PUBLISHABLE_KEY="<publishable-key>" \
mirzapolat/attendly:latest
docker build -t attendly:latest .
docker run --rm -p 8080:80 \
-e VITE_SUPABASE_URL="https://<project-ref>.supabase.co" \
-e VITE_SUPABASE_PUBLISHABLE_KEY="<publishable-key>" \
attendly:latest
Create .env.local:
VITE_SUPABASE_URL="https://<project-ref>.supabase.co"
VITE_SUPABASE_PUBLISHABLE_KEY="<publishable-key>"
Start dev server:
npm install
npm run dev
Content type
Image
Digest
sha256:1d9225ce4…
Size
25.1 MB
Last updated
10 months ago
docker pull mirzapolat/attendly