Il committente ha espresso l’esigenza di avere un sistema informatico che gli permettesse di censire i suoi clienti e i suoi Prospect/Lead in modo georeferenziato su BackEnd con interfaccia Web e FrontEnd mobile con interfaccia Nativa (iOS/Android) oppure Web.
La soluzione implementata è un’applicazione web su architettura Cloud scalabile realizzata mediante framework opensource e linguaggi di programmazione web e mobile, con le seguenti funzionalità di base:
L’ applicazione web verticale è stata realizzata espressamente per il committente con framework e tecnologie Open Source, i vantaggi di questa soluzione sono:
Il sistema è web based, realizzato con framework Laravel per il BackEnd e HTML/CSS per il FrontEnd che l’ha spuntata su ReactJS per la semplicità dell’interfaccia richiesta.
L’ App Web del FrontEnd può essere salvata sulla Home del device mobili e dispone di una cache dedicata sul modello delle Progressive Web App.
Adotta le più recenti, stabili e collaudate soluzioni Web e risponde a requisiti di usabilità e compatibilità con i più diffusi device e browser
Il layout grafico sia del FrontEnd che del BackEnd è responsive in modo da rendere fruibili e facilmente consultabili i contenuti su supporti mobili e su desktop
L’architettura della web application è su servizi Cloud, è commisurata alle indicazioni di utilizzo e performance dichiarate dal committente ed è scalabile in base alle necessità.
In tal senso abbiamo predisposto uno studio dei costi di servizio per i consumi iniziali e stimato l’aumento in modo proporzionale al maggiore effort futuro dichiarato.
Le medesime considerazioni sono state fatte per tutti i servizi esterni pay per use necessari al funzionamento della soluzione ovviamente concordati con il committente: a titolo esemplificativo Google Maps e API Google.
Un altro aspetto considerato è quello legato alle diverse tipologie di device su cui si fruisce dell’ applicazione web e l’impatto che hanno le funzionalità richieste su detti device.
Ad esempio: la soluzione richiesta impone un uso massiccio di risorse su un device mobile ed è stata ottimizzata per ridurre al minimo il consumo energetico che questa produce senza penalizzare le performance concordate.
Abbiamo adottato come metodologia di implementazione lo Sviluppo Agile perchè meglio si applica a un progetto in cui i requisiti della soluzione possono cambiare in corso d’opera.
L’idea funzionale era abbastanza chiara ma non esisteva una specifica dettagliata.
Con lo Sviluppo Agile il committente aveva chiari i costi di consulenza (analisi e sviluppo) orari o giornalieri e una stima dell’effort richiesto.
Quest’ultimo poteva variare in base a criticità evidenziate in fase di Analisi e Progettazione ma si poteva ragionevolmente stimare in modo abbastanza preciso infatti non ci sono stati significativi scostamenti di budget.