Ad Altare
A sacred platform for Catholic priests to manage their ordination registry and receive gifts from family, friends, and the faithful.
A wallet rewards card customers tap to join, no app needed, plus insights that spot regulars slipping away and bring them back in one tap.
CommerceGitHub @pzengo04-botOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Rewards + customer insights for indoor sports venues that sell time slots.
/: one-page marketing site/demo: clickable demo for a fictional 4-bay golf venue, "Fairway Lounge" (sample data, no backend)/v/[slug]: customer QR check-in for a real venue (no login)/login: venue login by emailed magic link (invite only)/dashboard: owner dashboard, plus /dashboard/messages, /rewards, /add-visit, /qr/admin: platform admin: create venues, invite owners and staffSetup (Supabase, email, Vercel): see docs/SETUP.md.
npm install
npm run dev
Open http://localhost:3000.
The scripts call
node node_modules/next/dist/bin/nextdirectly because this folder's name contains:, which breaks npm's PATH lookup. On Vercel (or in a folder without:) that makes no difference.
npm run db:migrate # apply supabase/migrations/*.sql
npm run db:seed # reset the Test Lounge (stamps) and Test Cages (points) venues
npm run make-admin -- [email protected]
npm run test:db # schema + security rules in an in-memory Postgres (no Supabase needed)
npm run test:security # venue A's owner can't reach venue B's data, against the real project
Security model: every table has Row Level Security. Owners and staff only reach their own venue;
platform admins reach all. Anonymous visitors can't read tables; the check-in page calls the
get_checkin_venue and check_in database functions. The secret key is only used server-side for
admin invites.
| Path | What it is |
|---|---|
lib/site.ts | Brand name, email, phone, booking link. Rename the product here. |
lib/demo-data.ts | Seeded fake data: 150 customers, ~6 months of bookings, one past campaign |
lib/analytics.ts | Pure functions: stats, regulars, gone-quiet list, utilization heatmap |
lib/dashboard.ts | Builds everything the owner dashboard needs from raw rows |
components/dashboard/* | Owner dashboard sections (reusable with real data later) |
components/customer/* | Phone check-in, stamp card, text opt-in, sample text offer |
components/landing/* | Landing-page-only pieces |
supabase/migrations/* | Tables, Row Level Security, check-in and dashboard functions |
lib/auth.ts, lib/data.ts | Who's signed in, which venue, and dashboard reads |
lib/insights.ts | Turns database rows into dashboard sections (shared components with the demo) |
app/v/[slug], components/checkin/* | Customer check-in |
app/dashboard/*, components/venue/* | Owner dashboard pages |
git remote add origin https://github.com/<you>/<repo>.git
git push -u origin main
main redeploys automatically.