Kapsalon Reserveringen
Reserveringssysteem met bevestigingsmails en een beveiligd dashboard voor de barbier.

Probleem
Veel barbiers regelen afspraken handmatig via WhatsApp of telefoon. Dat werkt met een klein aantal klanten, maar wordt lastig zodra het aantal boekingen groeit. Het is ook onhandig voor de klant, die tijdens openingstijden moet bellen en op een bevestiging moet wachten. Een reserveringssysteem lost beide problemen op.
Aanpak
Net als bij mijn vorige project werkte ik documentation-first: ik schreef een projectomschrijving en bepaalde de MVP voordat ik code aanraakte. Deze keer introduceerde ik ook feature-specificaties: documenten die elke feature beschrijven met een user story en acceptatiecriteria. Zo wist ik precies wanneer een feature af was, zonder onnodige extra's toe te voegen.
Als database gebruikte ik Supabase (Postgres), voor de reserveringen en een rate-limit-tabel tegen spam. Voor e-mailnotificaties gebruikte ik Resend, waarmee ik bij elke boeking e-mails op basis van een template naar zowel de klant als de barbier kon sturen.
Uitdaging
Ik ben lang bezig geweest met het debuggen van een probleem met Row-Level Security (RLS) in Supabase. Nadat ik het had aangezet, werkten mijn queries niet meer, maar in plaats van een foutmelding kreeg ik gewoon een lege array terug. De les: plan je RLS-policies altijd voordat je de databaselaag bouwt.
Resultaat
Het eindresultaat is een volledig werkend reserveringssysteem met een intuïtief, beveiligd dashboard. Klanten boeken hun favoriete tijdslot en de barbier krijgt een melding met de details. Vanuit het dashboard kan de barbier alle reserveringen bekijken, filteren op status of datum en boekingen annuleren wanneer dat nodig is.

