Un negozio che si avvia in cinque minuti, anche fra un anno
BabyShop è un e-commerce di prodotti per l'infanzia. La parte difficile di progetti come questo non è la vendita: è che restino avviabili quando qualcuno ci torna dopo mesi, magari da un computer diverso.
Risultati misurati
2
servizi: backend e frontend
1
comando per l'ambiente completo
3
sistemi coperti dalla guida: Windows, macOS, Linux
Docker
stessa configurazione ovunque
01 — Contesto
Il progetto che nessuno riesce più ad avviare
Capita a molti progetti: funzionano sul computer di chi li ha scritti e nessun altro riesce a partire senza mezza giornata di tentativi. Quando il progetto è di un cliente, questo significa dipendere da una persona sola.
È un costo che non si vede nel preventivo ma si paga alla prima manutenzione.
02 — Approccio
Separare i servizi e scrivere come si accendono
Backend e frontend sono due cartelle e due servizi distinti, descritti in un file di composizione: si avviano insieme con un comando, o separatamente quando serve lavorare solo su uno dei due.
Accanto al codice c'è una guida di avvio scritta per chi arriva da fuori, con i requisiti e i passaggi per Windows, macOS e Linux, più una guida separata per il rilascio. Sono due file che fanno la differenza fra un progetto vivo e uno che si può solo riscrivere.
03 — Soluzione
Com'è organizzato
Backend
Servizio applicativo con la logica del negozio e l'accesso ai dati.
Frontend
Interfaccia del negozio: catalogo, scheda prodotto e carrello.
Ambiente in un comando
Composizione Docker per avviare i servizi con la stessa configurazione ovunque.
Guide di avvio e rilascio
Istruzioni per i tre sistemi operativi e per la messa in produzione.
04 — Risultato
Manutenibile anche da chi non l'ha scritto
Il negozio funziona, ma la cosa che conta per il cliente è un'altra: chiunque abbia accesso al repository può avviarlo e rilasciarlo seguendo due file di istruzioni. Nessuna dipendenza da una persona sola.