Bee Smart
- Cliente
- Mariantonietta Strippoli
- Consegna
- Stato
- Online
- Sito
- studiobeesmart.it
Il progetto
Centro di doposcuola e ripetizioni a Corato, con l'obiettivo di creare un'identità digitale moderna e funzionale. Il progetto, realizzato da zero con completa libertà creativa, offre agli utenti un'esperienza fluida per esplorare i servizi educativi, consultare eventi e blog, e soprattutto prenotare lezioni private in modo totalmente autonomo. La piattaforma gestisce sia lezioni online che in presenza, con integrazione di pagamenti digitali tramite Stripe, eliminando la necessità di conferme manuali e automatizzando l'intera gestione delle prenotazioni e delle comunicazioni.
La sfida
La sfida tecnica principale è stata sviluppare un sistema di booking completamente custom e intelligente, capace di gestire orari di disponibilità flessibili, eccezioni personalizzate (chiusure, impegni specifici) e prevenire sovrapposizioni tra prenotazioni. Era fondamentale garantire che il calendario mostrato agli utenti fosse sempre aggiornato in tempo reale, tenendo conto della distinzione tra lezioni online e in presenza, ciascuna con le proprie disponibilità orarie. Inoltre, il sistema doveva implementare una regola di sicurezza per le prenotazioni in giornata (minimo 3 ore di anticipo) e calcolare dinamicamente gli slot disponibili per le successive due settimane, il tutto senza possibilità di errore o conflitto. Questa challenge è stata piu semplice poichè avevò già affrontato questo tema in un altro progetto.
La soluzione
Per risolvere la complessità del booking, ho progettato un AvailabilityService custom che incrocia dinamicamente tre livelli di dati: gli orari di lavoro standard (WorkingHours), le eccezioni temporali (ExceptionDays) e le prenotazioni esistenti. Il servizio calcola in tempo reale gli slot disponibili, validando ogni richiesta prima della conferma e impedendo qualsiasi sovrapposizione.
Sul frontend, ho implementato per la prima volta React con Inertia.js, superando l'approccio Livewire utilizzato in precedenti progetti. Ho costruito un'interfaccia moderna con TypeScript e Tailwind CSS, organizzando i componenti secondo l'atomic design (atoms, molecules, sections, pages) per massimizzare la riusabilità e la manutenibilità del codice.
Il pannello di amministrazione Filament è stato completamente customizzato per permettere al cliente di gestire autonomamente ogni aspetto del sito: modificare orari settimanali, inserire giorni di chiusura, gestire servizi, pacchetti, eventi, blog, FAQ e contenuti frontend. Ho integrato funzionalità avanzate come annunci in evidenza per comunicazioni urgenti agli utenti e sticky notes per promemoria interni, rendendo la gestione quotidiana ancora più efficiente. Il pannello include anche una dashboard con metriche in tempo reale per monitorare l'andamento dell'attività.
Il mio contributo
Mi sono occupato del progetto a 360°, dalla concezione alla messa online:
- Backend Laravel: architettura MVC con Models, Services, Enums, Factory e Migration per una base solida e testabile
- Frontend React: interfaccia moderna e performante con TypeScript, componenti riusabili e animazioni fluide (Framer Motion)
- Sistema di Booking Custom: logica complessa per disponibilità dinamiche e prevenzione sovrapposizioni
- Integrazione Stripe: pagamenti online sicuri per le lezioni private
- Pannello Admin Filament: completamente personalizzato con 18+ Resource customizzate per gestione completa del sito
- Ottimizzazione SEO: implementazione Google Analytics, Search Console, meta tags dinamici, sitemap e structured data
- Deployment e Server: configurazione ambiente di produzione, ottimizzazione performance e manutenzione continua
- Sistema Media: gestione immagini responsive con Spatie MediaLibrary per eventi, servizi e gallery
- Email Automation: notifiche automatiche per conferme prenotazioni, promemoria e comunicazioni amministrative
- Testing con Pest PHP (unit & feature tests)
- SSR support con Vite
- Code quality tools: ESLint, Prettier, TypeScript strict mode
- Architettura modulare e scalabile
Tecnologie
-
HTML
-
CSS
-
Javascript
-
Tailwind
-
PhP
-
Laravel
-
Filament
-
MySQL
-
React
-
Pest
-
Semgrep