Allegato 1 - Project Overview Statement
Opportunità
Da un’indagine di mercato è emersa la presenza di applicativi già esistenti per questo ambito. Tuttavia, dall’analisi di questi ultimi è affiorata la possibilità di fornire una versione open source, che al contempo permetta al gruppo d’impratichirsi con tecnologie e metodologie avanzate, cercando di migliorare l’esperienza utente.
Scopo del progetto
Lo scopo del progetto è l’implementazione di un sistema di tracciamento e condivisione, in tempo reale, della posizione e di un’informazione di stato tra gruppi di utenti fidati.
Obiettivi
Qui di seguito vengono descritti i principali obiettivi del progetto:
-
Organizzazione, configurazione e inizializzazione dei workspace con un adeguato build tool, di un’infrastruttura con predisposizione a una pipeline automatizzata di continuous integration & deployment.
-
Progettazione e implementazione di un servizio per la gestione utente che deve occuparsi di tutti gli aspetti relativi all’autenticazione, sia per quanto riguarda l’iscrizione, sia per il log-in, a cui va aggiunta la creazione e il mantenimento dei gruppi e lo stato dei singoli membri in tempo reale.
-
Progettazione e implementazione di un servizio di localizzazione che permetta di geolocalizzare un utente in tempo reale, individuare coordinate a partire da indirizzi / luoghi ed esporre un’API per impostare notifiche quando l’utente arriva in prossimità di una certa posizione o al verificarsi di situazioni di potenziale pericolo.
-
Progettazione e implementazione di un servizio di chat che permetta di conversare in tempo reale con un singolo o un gruppo ristretto di utenti con la quale si vuole condividere la propria posizione e stato. Questo permetterà all’utente di avere una comunicazione più diretta e immediata con i membri del gruppo.
Conditions of Satisfactions
- Il sistema deve essere completato entro Dicembre 2024;
- Utilizzo di architettura a micro-servizi e di tool di orchestrazione come Kubernetes;
- Utilizzo di approccio Domain e Test Driven (DDD e TDD);
- Organizzazione di focus group per raccolta di feedback sulla user experience.
Acceptance Criteria
- Il downtime del sistema deve essere minore dell’1% rispetto al tempo di attività;
- I costi del progetto per servizi esterni e tecnologie non devono eccedere 100€;
- Tutti i requisiti funzionali devono essere soddisfatti e verificati mediante test automatici;
- La copertura del codice del dominio deve essere > 90%.
Rischi
Un elenco dei principali rischi che ci si assumerebbero sono elencati qui di seguito:
- il team non ha esperienza nella progettazione e sviluppo di applicazioni con architettura a micro-servizi;
- il team ha limitata esperienza riguardo l’utilizzo di tecnologie e strumenti per il continuous depoloyment in ambienti di produzione;
- il sistema finale potrebbe avere meno appeal rispetto a quello dei competitor nel mercato.
L’analisi e la gestione del rischio è trattata nell’Allegato 6 - Analisi dei rischi