Logo Lanfrica

Angela-Dev23/glamslotzmv2

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Ang
Hôte:
This is a web application built for all beauty service providers in zambia.( My final year project) # GlamSlot Web-based appointment booking PWA for beauty, spa, and massage services in Zambia. Final year project — Angela Sinonge, Eden University. **Stack:** React (Vite) + Tailwind CSS + Supabase (Postgres, Auth, Realtime, Edge Functions) + vite-plugin-pwa **Backend status:** connected to your live Supabase project (`glamslot`, ref `uupzgvjktlroiyneakgo`). The database, RLS policies, and both Edge Functions are already deployed — see `supabase/DATABASE_DESIGN.md` for what's actually live. `.env` in this zip is already filled in with that project's public credentials, so you should be able to run this immediately. --- ## About the "app" folder You won't find a `src/app/` folder here, and that's not a bug — it's a different framework convention, not a missing piece: - **Next.js** projects use `app/` (or older `pages/`) as a *required*, file-based router — the folder structure itself defines your routes. - **Vite + React Router** (what this project uses) has no required folder name. `src/pages/` + `src/components/` + `src/lib/` is just a common, totally normal convention for organizing a Vite app — the actual routing is explicit, in `src/App.jsx`: ```jsx } /> } /> ... ``` Vite was the right call here (rather than Next.js) because this needs to be a installable PWA wrapped for iOS/Android app stores via Capacitor later — that path is simpler starting from a plain Vite SPA than from Next.js. --- ## How this solves the "DM the provider on WhatsApp/Instagram" problem This was in your proposal's problem statement — customers currently have to message a provider directly and wait for a reply to find out if a slot is even free. The booking flow on `/providers/:id` removes that entirely: a customer picks a service, date, and time, sees the provider's *real* remaining capacity for that day before they commit, and the booking is created immediately — no back-and-forth, no waiting on a DM reply. The provider finds out via an in-app/push notification, not by having t …

Languages