Panoramica del progetto
Una piattaforma connessa costruita attorno a un lavoro operativo reale.
IM Beauty Glow è un marketplace consumer per il settore beauty e saloni, realizzato come coppia abbinata: un negozio online Next.js e un'app companion React Native che condividono esattamente lo stesso contratto API di backend, fino ai nomi dei campi delle richieste. Gli utenti scoprono i saloni, prenotano singoli servizi o pacchetti e offerte in bundle, acquistano i prodotti dei saloni e gestiscono prenotazioni e ordini da entrambe le interfacce in modo interscambiabile. I saloni si registrano autonomamente e gestiscono la propria presenza attraverso la stessa piattaforma.
01La sfida
Il prodotto doveva risolvere problemi operativi interconnessi.
Gli utenti si aspettano di poter ricercare, prenotare e pagare una visita al salone da qualsiasi dispositivo abbiano a disposizione, e un flusso di prenotazione mobile che sia in silenzioso disaccordo con le regole di prezzo o disponibilità del sito web erode immediatamente la fiducia. Il prodotto doveva inoltre vendere tre elementi diversi — servizi singoli, pacchetti scontati e offerte a tempo limitato — attraverso un unico flusso di prenotazione, senza trasformarlo in tre sistemi separati.
02Approccio tecnico
Un approccio tecnico deliberato ha plasmato il sistema.
L'app web gestisce l'intera superficie commerciale, dalla scoperta dei saloni a servizi, pacchetti e offerte, carrello, checkout, pagamenti e gestione dell'account, dietro un livello API tipizzato che mantiene la logica di prenotazione, carrello, tasse e pagamento fuori dal livello di presentazione. L'app mobile è stata realizzata per rispecchiare esattamente quel contratto anziché reimplementarlo: prima di estendere l'app alla prenotazione di offerte e pacchetti, ho verificato innanzitutto le regole di validazione live del web e del backend, quindi ho esteso il flusso di appuntamento esistente per accettare tre origini di prenotazione — servizio, offerta o pacchetto — attraverso lo stesso endpoint e gli stessi identificatori opzionali già inviati dall'app web. Il prezzo di pacchetti e offerte resta autorevole lato server anziché essere ricalcolato sul dispositivo, così uno sconto non può mai disallinearsi tra le due app.