Conclusioni
L’obiettivo del progetto era quello di creare un’applicazione web completa e intuitiva per la gestione e il monitoraggio delle utenze degli edifici. L’applicazione consentisce agli utenti di registrare e tenere traccia dei consumi energetici, nonché dei relativi guadagni derivanti dalla produzione di energia rinnovabile, come ad esempio l’energia solare.
L’applicazione è stata progettata in modo da funzionare sia logicamente che graficamente su dispositivi desktop e mobile, garantendo a tutti gli utenti la possibilità di collegarsi e utilizzare il servizio in modo semplice e accessibile.
Per raggiungere l’obiettivo, è stata effettuata un’analisi approfondita del dominio, che ha portato a una verifica e un miglioramento dei requisiti già individuati in precedenza.
Successivamente, è stata implementata l’applicazione partendo dal refactor del codice esistente e dalla suddivisione e implementazione di un server con un’architettura a microservizi. Questo processo ha consentito di migliorare la struttura e la manutenibilità del codice.
Il progetto, una volta completato, rispecchia tutti gli obiettivi che il team si era prefissato inizialmente, offrendo agli utenti uno strumento completo per gestire e monitorare le utenze energetiche degli edifici, promuovendo l’efficienza energetica e l’utilizzo delle energie rinnovabili.
L’adozione della metodologia SCRUM ha permesso di procedere velocemente, dividendo il progetto in diversi task e dividendo il carico di lavoro uniformemente tra i componenti del team. L’utilizzo di tecnologia per la Continous Integration hanno permesso di identificare possibile problematiche prima che venissiro immesse in produzione, permettendo la riduzione di bug solving e velocizzando anche lo sviluppo generale mantenendo un sistema sempre aggiornato alle versioni più recenti.
Riteniamo che la realizzazione di questo progetto abbia aumentato le nostre competenze in quanto:
- Ha permesso di consolidare la metodologia SCRUM essendo il nostro secondo approccio a questa tecnica;
- Ci ha avvicinato alla strategia DevOps e abbiamo approfondito alcuni strumenti messi a disposizione da GitHub;
- Ha dato la possibilità di lavorare con un sistema distribuito e di poter utilizzare container Docker;
- Ha dato un’idea dell’approccio di Domain Driver Design.
Sviluppi futuri
Possibili funzionalità che possono essere realizzate in futuro, in aggiunta a quelle già presenti, grazie alla modularità del sistema, possono essere le seguenti:
- Aggiunta di un sistema di notifica capace di informare i diversi utenti sullo stato di consumo o errori;
- Supporto email per problemi, eventi e promemoria;
- Personalizzazione dell’interfaccia, facendo decidere al’utente quali grafici visualizzare;
- Inserimenti di nuovi prodotti di previsione e stime dei costi e dei ricavi;
- Inserimenti di servizi di sicurezza e controllo remoto delle risorse energetiche cercando di evitare sovraccarichi;