De klant, een podiumkunstengezelschap, had behoefte aan een robuuste online aanwezigheid om showinformatie, kaartverkoop en publieksbetrokkenheid in meerdere talen te beheren. Het doel was om een veilig, gebruiksvriendelijk platform te ontwikkelen dat in staat is om kaartverkoop met veel verkeer te beheren.
Projectoverzicht
Ik was verantwoordelijk voor de ontwikkeling van een tweetalige Next.js-applicatie, geïntegreerd met Sanity CMS voor contentbeheer en Stripe voor veilige tickettransacties. Mijn primaire doel was om een naadloze boekingservaring te garanderen en tegelijkertijd de stabiliteit en veiligheid van het platform te verbeteren door middel van rigoureuze validatie en foutafhandeling.
Belangrijkste Uitdagingen
De klant had voortdurend last van spam in hun contact- en mailinglijstformulieren, wat de gebruikersanalyses vertekende en aanzienlijke administratieve overhead veroorzaakte. Bovendien verhinderde een kritieke bug het toevoegen van nieuwe producties, terwijl de dynamische showcarrousel gevoelig was voor runtime-fouten wanneer showgegevens of afbeeldingen onvolledig waren in het CMS.
De Technische Oplossing
Ik heb verschillende technische verbeteringen doorgevoerd om bestaande blokkades op te lossen en de openbare toegangspunten van het platform te beveiligen:
- Botbeperking: Ik heb Google ReCAPTCHA v2 geïntegreerd in alle openbare formulieren, met behulp van Next.js Server Actions en Zod voor veilige validatie aan de serverzijde.
- Bugoplossing: Ik heb de blokkering van de lijst geïdentificeerd en opgelost, waardoor de klant weer in staat was om aankomende shows enkele maanden van tevoren succesvol te plannen en te posten.
- Veerkrachtige UI-weergave: Ik heb de logica voor het verwerken van afbeeldingen in de carrousel met aankomende shows geherstructureerd om rigoureuze null-filtering en type casting toe te voegen, waardoor de UI stabiel blijft, zelfs met gedeeltelijke CMS-gegevens.
Operationele Impact
De integratie van ReCAPTCHA heeft bot-gedreven spam uit de contactformulieren effectief geëlimineerd, waardoor het administratieve team zich kan concentreren op authentieke klantinteracties. Door de functie voor showbeheer te herstellen, kon de klant zijn seizoensplanning zonder vertraging hervatten, terwijl de structurele verbeteringen aan de carrousel het aantal runtime-fouten aan de front-end voor gebruikers die naar aankomende producties browsen aanzienlijk hebben verminderd.