Francesco Sposato
Contattami
dettaglio progetto
Project GoCare
Un progetto di gruppo che facilita il contatto tra persone bisognose di un trasporto sociale e associazioni di volontariato che forniscono questo servizio.
React Native
Expo Router
C#
ASP.NET Core
EF Core
PostGree
In costruzione
Panoramica
GoCare nasce per risolvere un problema concreto: molte persone anziane o con mobilità ridotta hanno bisogno di essere accompagnate a visite mediche, ricoveri o dimissioni, ma oggi questo si organizza ancora per telefono, tra caregiver familiari e associazioni di volontariato — senza uno storico, senza visibilità su chi ha già risposto, senza modo di tracciare lo stato del viaggio in corso.
GoCare digitalizza questo processo: un caregiver registra la persona di cui si occupa e richiede un trasporto per suo conto; la richiesta arriva automaticamente alle associazioni accreditate competenti per zona, che possono accettarla o rifiutarla. Una volta presa in carico, lo stato del viaggio viene aggiornato passo passo (partenza, arrivo, ritorno) e sia il caregiver sia l'associazione hanno sempre visibilità completa su richieste attive e storiche.
Ho curato lo sviluppo del backend per intero: dal disegno del modello di dominio (gestione multi-caregiver per la stessa persona assistita, gestione degli stati del viaggio, gestione dell'accreditamento delle associazioni) alle scelte architetturali (autenticazione, validazione, gestione degli errori), fino all'evoluzione della struttura del progetto man mano che i requisiti si chiarivano.
stack tecnologico
Cosa c'è sotto il cofano
React Native + Expo Router
Il progetto è pensato per essere un app del tutto funzionante, che deve essere fluida a livello UX. Abbiamo optato per react native, che ci è sembrato la scelta piu giusta per conciliare questi due requisiti.
ASP.NET Core + EF Core
Abbiamo scelto .NET per la leggibilità di C#, e per la volontà di tutti i membri del gruppo di imparare a dominare questo linguaggio. Inoltre Entity Framework ci ha semplificato incredibilmente il lavoro di creazione del database, e Fluent Validation ci ha aiutato nella validazione delle richieste in maniera intuitiva.
PostgreSQL
Un sql open source, ricco di tipi di dati e scalabile.
decisioni e problemi risolti
Quello che ho imparato costruendolo
Cosa ha funzionato bene
La scrittura di un buon documento iniziale elencante la maggior parte di flussi e casi d'uso ha reso la strutturazione di backend e frontend molto piu fluida e agevole: per ogni dubbio c'era un punto del documento che ci poteva guidare.
Difficoltà incontrate
La scelta architetturale iniziale è stata molto complicata da scegliere. La circoscrizione di requisiti e casi d'uso ha preso piu' tempo del previsto. Le dinamiche di gruppo sono state, a volte, difficili da gestire. Nonostante tutto abbiamo portato a termine al meglio il progetto, sviluppando anche una buona dose di ascolto e pazienza.
Cosa rifaresti diversamente
Punterei subito su un'architettura che so di poter gestire. Il pensiero di dover fare qualcosa di altamente scalabile e di alto livello fin da subito mi ha fatto andare fuoristrada, prendendomi tempo prezioso poi per rifattorizzare tutto in una soluzione più gestibile.
Torna alla lista dei progetti per vedere gli altri lavori.
Francesco Sposato - studente e aspirante sviluppatore