Progetto di gruppo
Duck-Commerce
Un mercatino online costruito in cinque
- sviluppatori nel gruppo
- 5sviluppatori nel gruppo
- modifiche registrate in 15 giorni
- 81modifiche registrate in 15 giorni
- righe di codice dell’applicazione
- 3.357righe di codice dell’applicazione
- lingue dell’interfaccia
- 3lingue dell’interfaccia
Il problema
Un mercatino di annunci fra privati ha un problema che i cataloghi normali non hanno: i contenuti li carica chiunque. Servono un modo per controllarli prima che vadano online, una gestione seria delle immagini e regole chiare su chi può approvare cosa.
Il secondo problema è il gruppo: cinque persone che lavorano insieme per due settimane sulla stessa base di codice, con le parti che si toccano.
Cosa ho costruito
Una piattaforma di annunci completa, sviluppata in gruppo durante un corso di sviluppo web.
- Pubblicazione di annunci con più immagini, categorie e ricerca.
- Ruolo di revisore con flusso di approvazione: gli annunci vanno online solo dopo un controllo.
- Registrazione, accesso e richiesta di diventare revisore, con conferma via email.
- Elaborazione delle immagini in coda, fuori dalla richiesta dell’utente, così il caricamento non blocca la pagina.
- Analisi automatica delle immagini con Google Cloud Vision: blocco dei contenuti inappropriati, etichette ricavate dalla foto, sfocatura dei volti per tutelare chi passa nell’inquadratura.
- Interfaccia in tre lingue: italiano, inglese, spagnolo.
I fatti
Le cose che non stanno in una cifra sola.
- Cosa ho fatto io
- Il modulo di inserimento degli annunci con aggiornamento della pagina senza ricaricarla, il collegamento fra annunci e categorie, tutto il flusso «diventa revisore» (richiesta, email di conferma, accettazione) e i messaggi di errore mostrati all’utente. Sono 10 delle 81 modifiche registrate.
- Cosa NON ho fatto io
- L’integrazione con Google Cloud Vision — riconoscimento dei contenuti, etichette automatiche, sfocatura dei volti — è opera di altri tre componenti del gruppo. La riporto perché fa parte del progetto, non perché sia mia.
- Contesto
- Progetto conclusivo di un corso di sviluppo web, maggio 2024. Lavoro a gruppi con divisione dei compiti e integrazione continua del lavoro altrui.
Perché conta
Lo tengo qui per due motivi. Il primo è che dimostra che so lavorare dentro un gruppo sul codice di altri, che è una cosa diversa dal costruire da soli.
Il secondo è che mi permette di mostrare come tratto l’attribuzione. Il repository pubblico di questo progetto ha la storia compressa in un unico salvataggio, e da lì sembrerebbe scritto interamente da me. Sono andato a rileggere la storia originale e ho contato: 10 modifiche su 81 sono mie. Sta scritto qui sopra, insieme a quello che non ho fatto.
Chi le consegna un lavoro le racconterà sempre com’è andata. La domanda è se glielo racconta anche quando la versione onesta lo mette in luce peggiore.
Competenze impiegate
- PHP, Laravel, Livewire
- Blade e componenti riutilizzabili
- Lavorazioni in coda
- Invio di email transazionali
- Ruoli e permessi
- Traduzione dell’interfaccia in più lingue
- Lavoro in gruppo su un unico repository
Ha un lavoro in mente?
Mi scriva cosa le serve, anche in due righe e anche se l’idea è ancora confusa. Le rispondo io, di persona, dicendole se è una cosa che so fare bene — e se non lo è, glielo dico.