Event ticketing for Sierra Leone. Buyers pay with Orange Money or Afrimoney through Monime. Organisers create events, issue tickets, and withdraw proceeds. Door staff scan entry QR codes.
- Public marketplace, event detail, and checkout
- Buyer guide at
/how-to-buy - Organiser event create/publish, wallet, and withdraw
- Attendee My Tickets with entry QR
- Ticket transfers by username
- Door scanner and door-staff invite / assign
- SvelteKit 1, Svelte 4, Vite
- Tailwind CSS, lucide-svelte, Plus Jakarta Sans / Space Grotesk
- Supabase (Postgres + RLS)
- Kit
/apiroutes and$lib/server/*for privileged I/O - Monime payment codes and webhooks
- html5-qrcode / qrcode for scanning and ticket QR
@solana/web3.js remains in dependencies for residual / SKIP roadmap work. It is not the primary payment path.
- App I/O uses plural tables only (
events,guests,orders, …). Singular legacy tables were dropped;legacy_id_mapis the merge audit trail. - New privileged work belongs under
$lib/server/<domain>, not new Kit service-role helpers insrc/lib/supabase.js. - Product sessions use a signed
userSessioncookie (SESSION_SECRET).
git clone https://github.com/yourusername/SOS_SEATS.git
cd SOS_SEATS
npm install
cp .env.example .env
# Add PUBLIC_SUPABASE_* and fill remaining vars (see Configuration)
npm run devOther scripts:
npm run build
npm run checkCopy .env.example to .env, then set at least:
# Supabase (required; not listed in .env.example)
PUBLIC_SUPABASE_URL=
PUBLIC_SUPABASE_ANON_KEY=
# Session cookie HMAC (required in production, 32+ characters)
SESSION_SECRET=
# Fees (see .env.example for mode / percent / flat options)
PUBLIC_BOOKING_FEE_MODE=percent
PUBLIC_BOOKING_FEE_PERCENT=0.99
PUBLIC_BOOKING_FEE_FLAT=1
PUBLIC_PLATFORM_FEE_PERCENT=5
PUBLIC_WITHDRAWAL_MONIME_FEE_PERCENT=1
# Monime (server-only; never expose as PUBLIC_*)
MONIME_API_KEY=
MONIME_SPACE_ID=
MONIME_ENVIRONMENT=test
MONIME_PAYOUT_API_KEY=
MONIME_WEBHOOK_SECRET=Monime account and Space setup: Monime.
- Jennifer E.K Kargbo: Lead Writer and Content Creator
- Amara D. James: Product Manager and UX Designer
- Michael S.O.S Johnson: Lead Developer