NIER Ingegneria è diventata Società Benefit →
TORNA AGLI ARTICOLI
4 Marzo 2024

SOFTWARE GESTIONALE PER IL BANCO DI SOLIDARIETÀ DI BOLOGNA ODV.

L’opportunità di sviluppare un software gestionale e di contribuire a una buona causa.

A cura di Paolo Pizi

[Head of Digital Solutions – Area Ingegneria del Software]


IL NOSTRO IMPEGNO PER IL BENE COMUNE.

In NIER riteniamo che la solidarietà e il business non siano disgiunti; il nostro obiettivo pilota è di contribuire alla creazione di una società migliore.

Quando l’associazione Banco di Solidarietà di Bologna ODV ha chiesto il nostro supporto per implementare un nuovo software gestionale, partendo da uno già esistente ma obsoleto, abbiamo accettato con entusiasmo. Abbiamo considerato questo progetto non solo un’opportunità di innovazione tecnologica, ma soprattutto un modo concreto per mettere le nostre competenze al servizio del bene comune.

L’associazione ODV dedica la propria attività alla solidarietà sociale, senza scopo di lucro. Fornisce assistenza gratuita a persone in difficoltà, soggetti svantaggiati e nuclei familiari disagiati. Il loro impegno è mirato a promuovere la cultura della carità e della condivisione.

Grazie alla nostra esperienza nello sviluppo di Software Utilities, arricchita dalle competenze di dominio che ci distinguono dalle Sw House, abbiamo analizzato e strutturato la richiesta dell’Associazione per consegnargli un gestionale funzionale e affidabile.

DESCRIZIONE DEL SOFTWARE GESTIONALE.

Il progetto è stato avviato con un’approfondita analisi del sistema gestionale preesistente dell’associazione, finalizzata a comprendere le sue funzioni e individuare eventuali aree di miglioramento (Gap Analysis). Ci siamo trovati di fronte a un’applicazione sviluppata circa dieci anni fa utilizzando il framework cakePHP, noto per consentire lo sviluppo web rapido e strutturato. Tuttavia, il software presentava alcune peculiarità, non tutte positive:

  • Buona Struttura Dati e Impostazione: il sistema mostrava una solida struttura di dati e un’organizzazione ben definita.
  • Ricerca di Base: le funzionalità di ricerca erano presenti, ma potevano essere migliorate per garantire una maggiore efficienza (funzionalità fondamentale).
  • Esperienza Utente Faticosa: l’interazione con l’applicazione risultava laboriosa per gli utenti, richiedendo sforzi aggiuntivi per utilizzarla in modo ottimale. Migliorare la UX (User eXperience) è una tematica a noi famigliare dovendo realizzare tool, anche in ambito Safety Related, i cui utenti finali non sono usuali utilizzatori di Utilities Software.
  • Interfaccia Utente Datata: l’aspetto grafico e l’usabilità dell’interfaccia utente erano non più in linea con i requisiti, anche di sicurezza, che ad oggi sono consigliati come standard.

Abbiamo, inoltre, analizzato le richieste degli utenti accumulate negli anni di utilizzo del sistema originale. La raccolta delle esigenze degli utenti ha rappresentato un elemento cruciale, consentendoci di allineare il software alle effettive necessità e aspettative degli utilizzatori, garantendo così un’applicazione su misura e capace di rispondere alle dinamiche operative dell’associazione.

Sulla base di queste considerazioni, ci siamo posti l’obiettivo sia di preservare la solidità strutturale del sistema esistente che di affrontare le criticità individuate, migliorando l’esperienza utente e modernizzando l’aspetto visivo e funzionale dell’interfaccia.


APPROCCIO TECNOLOGICO.

Il gestionale originale era costituito da una piattaforma web dedicata alla gestione di consegne e ritiri tra volontari e assistiti, con la raccolta e la storicizzazione di tutti i dati essenziali per la gestione dell’associazione. Il nostro impegno si è focalizzato sul porting del sistema esistente e l’obiettivo principale è stato ottimizzare il coordinamento delle attività tra volontari e assistiti, trasformando il sistema in una piattaforma online intuitiva ed efficiente. Abbiamo lavorato per garantire un’esperienza utente più fluida e una gestione semplificata delle operazioni di consegna e ritiro, migliorando l’efficacia e l’efficienza delle attività dell’associazione.

Per prima cosa, sono state scelte le tecnologie ritenute migliori per il progetto, in base alle esperienze pregresse:

  • Laravel –> utilizzato per sviluppare il back-end

Laravel è un set di strumenti avanzati che aiuta gli sviluppatori a costruire siti web in modo più veloce ed efficiente. Fornisce altresì un piano guida per la costruzione di applicazioni web potenti, semplificando molte attività comuni e organizzando il lavoro in modo ordinato. In poche parole, rende la creazione di siti web complessi più facile e veloce.

  • Flutter –> utilizzato per sviluppare il front-end

Flutter è un framework di sviluppo open-source creato da Google per la creazione di app native per dispositivi mobili, web e desktop. Ciò che lo rende unico è la sua capacità di utilizzare un singolo codice sorgente per creare app che funzionano su diverse piattaforme, come Android e iOS.

  • Docker –> per progettare l’ambiente di sviluppo

Docker è una piattaforma di containerizzazione che consente di creare, distribuire e gestire applicazioni in un ambiente isolato chiamato “container”. Un container è un pacchetto leggero e autonomo che include tutto il necessario per eseguire un’applicazione, inclusi il codice, le librerie e le dipendenze. Grazie a Docker, gli sviluppatori possono garantire che l’applicazione funzioni in modo coerente su diversi ambienti, eliminando i problemi legati alle differenze tra sviluppo, test e produzione.

  • MySQL –> per la gestione dei dati storicizzati su database

MySQL consente di organizzare e archiviare dati in modo strutturato, facilitando la ricerca e la gestione delle informazioni. È spesso utilizzato in applicazioni web e software in cui è necessario memorizzare dati in tabelle relazionate tra loro.

software gestionale - le tecnologie
Figura 1 – Tecnologie utilizzate

L’intervento è stato suddiviso nelle seguenti fasi:

  1. Creazione ambiente di sviluppo dockerizzato su server NIER:

In questa fase è stata configurata un’infrastruttura dockerizzata sull’ambiente server di NIER, avendo così un ambiente isolato e consistente per lo sviluppo, garantendo che l’applicazione funzionasse in modo coerente su diversi ambienti.

2. Creazione Backend con Laravel:

È stato sviluppato il lato server dell’applicazione utilizzando il framework Laravel, gestendo così la logica dell’applicazione, la connessione al database, e la gestione dei dati attraverso modelli strutturati.

3. Creazione Frontend con Flutter:

La parte front-end dell’applicazione è stata creata utilizzando il framework Flutter, che, come detto in precedenza, permette di sviluppare interfacce utente coinvolgenti e reattive, con la peculiarità di poter condividere il codice tra diverse piattaforme, come Android e iOS.

4. Importazione dati esistenti:

I dati esistenti sono stati migrati e importati nel nuovo sistema. Questa fase è stata essenziale per garantire la continuità delle informazioni e il corretto funzionamento dell’applicazione.

5. Aggiornamento hosting Aruba a PHP 8.2:

L’hosting su Aruba è stato aggiornato alla versione più recente di PHP (8.2), beneficiando così delle nuove funzionalità e miglioramenti delle prestazioni offerti dalla versione più recente del linguaggio di scripting.

6. Adattamento WordPress esistente e rimozione malware:

Per quanto riguarda WordPress, è stato adattato per integrarsi con le nuove tecnologie implementate. Inoltre, è stata condotta una analisi approfondita per rimuovere eventuali malware o vulnerabilità di sicurezza presenti nel sistema.

Questo intervento ha avuto un focus principale: implementare un ambiente di sviluppo moderno, creare un backend robusto e un’interfaccia utente interattiva, garantire la continuità di storicizzazione dei dati, migliorare le prestazioni e la sicurezza del sistema.

Le aree di intervento chiave sono state la gestione di:

  • Utenti e Ruoli: Ottimizzazione e gestione degli utenti con definizione gerarchica dei ruoli e delle autorizzazioni.
  • Volontari ed Assistiti: Implementazione di funzionalità specifiche per gestire informazioni relative a volontari e assistiti.
  • Consegne e Ritiri: Efficientamento nel monitoraggio e coordinamento delle operazioni di consegna e ritiro.
  • Newsletter: Nuova gestione di newsletter dedicata per agevolare e render epiù capillare la comunicazione con gli stakeholders.

RISULTATI OTTENUTI.

Il precedente sistema coinvolgeva processi manuali nella gestione delle consegne, creando un contesto meno organizzato ed esposto a potenziali errori umani.

Grazie all’implementazione della nuova piattaforma è stato automatizzato il processo di gestione di consegne e ritiri. Il nuovo software gestionale ha portato a notevoli miglioramenti in efficienza e tempi, semplificando il coordinamento delle operazioni. Il risultato finale rappresenta un’evoluzione significativa rispetto alla soluzione preesistente, con un’interfaccia utente intuitiva e un sistema integrato che garantisce anche protezioni verso le minacce potenziali che caratterizzano ogni software fruibile tramite WEB.

software gestionale - confronto tra soluzioni
Figura 2 – Confronto tra soluzione originale e sviluppo nuova Soluzione (Front End)

DALLE PAROLE AI FATTI .

Contattaci per saperne di più sull’argomento dell’articolo.

    Condividi .