close icon
newsletter icon Hsave iconppy Coders’Journal La newsletter delle nostre avventure
<<
Diplome ()

Diplome, la piattaforma ad hoc che convalida i titoli di studio tramite blockchain

Attività di refactoring della piattaforma del cliente per la gestione di migliaia di richieste al mese da parte di utenti provenienti da tutto il mondo.

Cerchi una soluzione simile?
// Cliente

Cimea è un’associazione italiana che si occupa di certificare la veridicità dei titoli di studio esteri di chi si reca in Italia per motivi educativi o professionali e di comparare il titolo di studio estero con la normativa italiana (o europea) in modo da certificarne l’equipollenza e, di conseguenza, riconoscerli come titoli validi ai fini di studio o di lavoro. Proprio per questo, Cimea lavora a stretto contatto con i ministeri italiani, in particolar modo con il MIUR, svolgendo un ruolo fondamentale per l’inserimento in Italia di lavoratori e studenti esteri. Per fare ciò, si serve di una piattaforma che sfrutta la notarization via blockchain per pubblicare in modo sicuro le proprie certificazioni rilasciando un pdf univoco che attesti la veridicità dei titoli di studio.

Kickoff ()
// Strumenti
  • .Testmo
  • .Google Cloud Computing
  • .VueJS con Quasar
  • .Laravel

Situazione

Diplome necessitava una grande operazione di refactoring in breve tempo in quanto la piattaforma non riusciva più a reggere il crescente traffico di utenza in ingresso.

Uno dei problemi principali della piattaforma era rappresentato dal sistema di blockchain che validava l’intera attività di certificazione dei titoli di studio tramite notarization. Il sistema presentava dei limiti derivanti dalla sua natura “stratificata”: la piattaforma, infatti, era stata sviluppata nel corso degli anni per cercare di soddisfare le crescenti esigenze di Cimea, senza un chiaro progetto sottostante.

Oltre a ciò, nell’applicativo originariamente in uso da Cimea erano presenti alcune feature che non hanno incontrato la piena soddisfazione del cliente e che dovevano essere riviste, come l’implementazione delle case study (un “notebook” in cui ciascun Operatore Cimea può prendere appunti durante la lavorazione della pratica, allegando immagini, media, link ipertestuali, ecc.), la gestione dei flussi per la categoria “Rifugiati”, la gestione dei flussi per la categoria “Istituzioni”, la gestione della verification chart e della Country Policy.

Obiettivi

  • Attività di refactoring sulla piattaforma Diplome
  • Miglioramento della certificazione dei titoli di studio in piattaforma
  • Sviluppo e aggiunta di nuove feature all’interno della piattaforma
  • Stesura della documentazione tecnica riguardo la piattaforma
  • Scrittura delle test cases per il processo di Quality Assurance
  • Certificazione della sicurezza e corretto funzionamento della piattaforma tramite la Quality Assurance
  • Tempi brevi di delivery del progetto
Attività ()

Sicurezza, garanzia e intuitività: la nuova piattaforma Diplome

01.

La blockchain per la validità dei certificati

Il primo passo che abbiamo compiuto nel progetto di refactor per Cimea è stato migliorare l’integrazione della blockchain utilizzata per validare i titoli di studio caricati all’interno della piattaforma emettendo a sua volta dei certificati in pdf. Cimea oggi utilizza la blockchain per validare l’hash dei pdf dei certificati e, su richiesta dei propri utenti, attesta in autonomia sia la correttezza sia l’integrità dei dati contenuti all’interno del pdf rispetto a quanto presente nei propri database. In aggiunta, se disponibile, mostra anche i dati relativi alla pubblicazione in blockchain del certificato.

Flussi e diagrammi

In questo modo abbiamo ottenuto due risultati: il primo è la verifica dell’assenza di eventuali alterazioni sul pdf emesso tramite confronto degli hash mentre il secondo è l’evitare la pubblicazione di dati sensibili in una struttura dove non è ammessa la loro modifica o eliminazione. Parallelamente, abbiamo operato sia lato backoffice sia lato frontend della piattaforma e una volta ricevuta la nuova grafica dal fornitore esterno scelto dal cliente abbiamo proceduto con il collegamento API.

Integrazioni
02.

Integrazione feature secondarie della piattaforma

Una volta consegnatoci il collegamento API per la blockchain, ci siamo concentrati sull’integrazione della libreria per la stampa dei pdf dei certificati e il conseguente invio tramite blockchain. Abbiamo proseguito occupandoci della gestione del flusso per i rifugiati, la gestione del flusso per le istituzioni e, in generale, integrando nella piattaforma diversi servizi esterni che rendono l’evasione delle richieste da parte degli operatori molto più rapida e precisa.

03.

Google Cloud Computing per la sicurezza del dato

Come emerso durante la prima fase di interviste, uno dei punti cruciali del progetto Diplome era il raggiungimento di una gestione più snella del traffico all’interno della piattaforma affiancato a una sicurezza dei dati contenuti in essa utilizzando Google Cloud Computing (GCC).

Con il nostro intervento, oggi la piattaforma ha la possibilità di scalare orizzontalmente e in piena autonomia il traffico in entrata e, tramite un pattern sviluppato sullo storico dei dati, fornire previsioni future attendibili. Successivamente, abbiamo migliorato anche il processo di disaster recovery basandoci sulla duplicazione istantanea e la relativa conservazione dei dati a livello europeo sfruttando più availability zone. In questo senso, nel caso in cui il server che conserva determinati dati non fosse funzionante gli stessi medesimi dati potranno essere reperibili in un altro server.

Ciò ha permesso al cliente di rendere più dinamica la gestione del traffico e di essere più efficace nella pianificazione di nuove attività.

Google Cloud Computing
04.

QA testing per una piattaforma perfomante

Come di consuetudine, una volta terminato di sviluppare la nuova piattaforma, abbiamo avviato il processo di Quality Assurance (QA) per individuare eventuali bug, certificare la qualità del lavoro effettuato e fornire al cliente una documentazione completa sulla nuova piattaforma.

A tal proposito, abbiamo realizzato da zero la documentazione ad hoc necessaria per la scrittura delle test cases che fino a quel momento mancava. In parallelo alla normale attività di bug-fix, da parte del cliente sono arrivate anche segnalazioni di Change Request New Request (CRNR) per poter implementare la piattaforma di Diplome di nuove feature sorte durante un primo utilizzo. Man mano che venivano segnate, abbiamo provveduto all’analisi ed esecuzione dei bug-fix assieme alle nuove implementazioni.

In tre mesi sono state ricevute 220 segnalazioni di cui la maggior parte sono richieste di nuove implementazioni all’interno della piattaforma. Ad oggi, Cimea dispone di uno strumento funzionante, aderente alle sue necessità e con una documentazione aggiornata.

Il raggiungimento di tale obiettivo è stato possibile grazie all’expertise del nostro team che è riuscito a reperire informazioni e redigere una documentazione dettagliata laddove non fossero disponibili o non esistenti.

loader-logo