Skip to content
10Caso studioSW · 10 di 10

Quando la piattaforma non parla la lingua del tuo business, scrivi i moduli che lo fanno.

Un marchio di musica per il sonno e il benessere vendeva tracce digitali e supporti fisici da un unico catalogo. PrestaShop generico non sapeva cosa fosse un limite di anteprima, chi fosse un autore o che aspetto avesse una homepage modificabile dal marketing. Cinque moduli dopo, lo sapeva.

ClienteRiservato
Anno2018 — 2019
Durata2 yrs
StackPHP · Symfony · MySQL
Hero image for sleep-music-d2c-storefrontFIG 01 · HERO

Un catalogo che PrestaShop non riusciva a modellare.

Un'etichetta di musica per il sonno e il benessere gestisce un catalogo ibrido: audio digitale — paesaggi sonori per il sonno, sessioni di meditazione, composizioni originali — accanto a supporti fisici e accessori brandizzati. L'esperienza del cliente vive o muore su un'unica interazione: posso ascoltare abbastanza di questa traccia per decidere se acquistarla, poi aggiungerla a un carrello insieme alla stampa in vinile e completare l'acquisto in un unico flusso?

PrestaShop 1.7 pronto all'uso non modellava nulla di tutto questo. Conosceva prodotti e prezzi. Non conosceva tracce audio con limiti di campione configurabili. Non conosceva compositori e narratori come entità di contenuto di primo piano. Non sapeva che il team di marketing aveva bisogno di riorganizzare la homepage di martedì senza aprire un editor di codice.

Il brief era diretto: costruisci la superficie e-commerce che si adatta a questo business, non il business che si adatta alla piattaforma.

Cinque moduli che hanno reso PrestaShop fluente nel dominio.

Abbiamo esteso PrestaShop 1.7.4 — PHP 5.6, Symfony 3.4, Doctrine, MySQL, Smarty — con cinque moduli su misura, un tema personalizzato e modelli di fattura PDF fedeli al marchio. Nessuno dei moduli è stato preso dal marketplace. Tutti e cinque sono stati scritti da zero per adattarsi alla forma specifica del dominio.

Il modulo lettore musicale ha dato a ogni prodotto digitale un'identità riproducibile: metadati della traccia, durata completa, un tempo di taglio del campione configurabile impostato per traccia dall'artista e un lettore in pagina con scrubbing. L'artista decide quanto si riproduce prima del checkout. Quella decisione è una regola di business; vive nel modello dati, non in espedienti JavaScript contro il template di prodotto di default.

Il modulo profilo autore ha reso compositori e narratori entità di primo piano con pagine profilo, biografie e discografie proprie. Una traccia conosce il suo autore. Una pagina autore elenca le sue tracce. La relazione è interrogabile e gestibile dal pannello di amministrazione.

Il modulo costruttore di homepage ha dato al team di marketing una superficie strutturata — blocchi di intestazione, banner, CTA — modificabile senza toccare il tema. Il modulo blocco-prodotti gestiva le vetrine curate in homepage per categoria. Il modulo condizioni dava all'ufficio legale una superficie self-service per la gestione dei termini e condizioni. Combinato con il flusso a pagina unica di SuperCheckout e l'integrazione di pagamento regionale CM-CIC, il checkout catturava l'email al punto vendita e si saldava nel processore regionale del cliente senza un gateway di pagamento personalizzato.

Modelli di fattura PDF personalizzati — 877 righe, fedeli al marchio — gestivano le ricevute lato server. Il cliente riceve una ricevuta che assomiglia al marchio da cui ha appena acquistato.

F · 01Modulo lettore musicale
Metadati della traccia, durata, tempo di taglio del campione configurabile e un lettore in pagina con scrubbing. L'artista imposta quanto si riproduce prima del checkout; quella regola vive nel modello dati.
F · 02Modulo profilo autore
Compositori e narratori come entità di primo piano nell'amministrazione con pagine profilo, biografie e discografie. Le tracce si collegano agli autori; le pagine autore elencano le tracce.
F · 03Modulo costruttore di homepage
Blocchi di intestazione strutturati, banner e CTA che il team di marketing modifica dal pannello di amministrazione — nessun accesso al tema, nessun ingegnere reperibile.
F · 04Modulo blocco-prodotti
Vetrine di prodotti curate in homepage organizzate per categoria. L'operatore decide cosa appare in prima pagina senza toccare il template.
F · 05Checkout a pagina unica + pagamento regionale
Il flusso a pagina unica di SuperCheckout con elaborazione dei pagamenti regionale CM-CIC e cattura email Mailchimp al punto vendita. Digitale e fisico in un unico carrello, un unico checkout.
F · 06Fatture PDF in stile del marchio
Generazione di fatture lato server — 877 righe di modelli personalizzati. Ricevute che assomigliano al marchio da cui il cliente ha appena acquistato.

Estendi la piattaforma; non riscriverla.

La tentazione in un progetto come questo è concludere che la piattaforma è sbagliata e ricominciare da capo. PrestaShop non sa cosa sia un limite di anteprima — quindi passare a un'applicazione Symfony personalizzata, ricorrere a uno stack headless, argomentare del tutto a favore di una piattaforma diversa.

Niente di tutto questo era giustificato. Il sistema di moduli di PrestaShop esiste proprio per questo. La piattaforma gestisce la gestione del catalogo, l'elaborazione degli ordini, l'inventario, le tasse, il multivaluta e un decennio di casi limite dell'e-commerce che non è interessante riscrivere. La lacuna era la modellazione del dominio — metadati audio, entità autore, una homepage modificabile — e quella lacuna aveva esattamente la dimensione giusta per cinque moduli.

Estendi una piattaforma solo dove il suo vocabolario è sbagliato. Ovunque sia giusto, lasciala lavorare.

Quattro mesi, da novembre 2018 a marzo 2019, 356 commit. L'ambito dell'estensione è stato calibrato su ciò che la piattaforma già gestiva bene. I moduli sono isolati e ben delimitati. Il resto è PrestaShop. Quel vincolo è una disciplina tanto quanto una decisione: se estendi solo dove l'adattamento è davvero sbagliato, il sistema che il prossimo ingegnere eredita resta leggibile.

Una piattaforma che parlava la lingua del marchio.

La vetrina è stata pubblicata con un catalogo che l'operatore poteva gestire, un checkout che gestiva digitale e fisico in un unico flusso e una homepage che il team di marketing poteva modificare senza un ticket di supporto.

La piattaforma sapeva cos'era una traccia audio. Sapeva cos'era un autore. Sapeva che un campione si riproduceva per una finestra configurabile e poi chiedeva una decisione d'acquisto. Non sono funzionalità avvitate sul fianco di una vetrina generica — sono il modello di dominio, espresso in codice e portato in superficie nel pannello di amministrazione.

356 commit, 4 mesi, 5 moduli personalizzati. L'operatore ha lanciato nei tempi previsti e ha gestito il catalogo fin dal primo giorno senza supporto di ingegneria.

Citazione / 04
Finalmente sembrava il nostro negozio, non un negozio PrestaShop con il nostro logo sopra.
FondatoreMarchio di benessere D2C
Outcome
Custom modules shipped
5
Time to launch
4 months
Commits
356
Invoice template (lines)
877
NEXTCaso studio 11SW · 11 di 10
Wellness tourism2018 — 2025

Sette anni sullo stesso codice: una piattaforma e-commerce su misura per un operatore di ritiri di benessere.