Sviluppo Software
Unicorn Mobility
Un middleware IoT per integrare diversi produttori di veicoli e gestire dati di mobilità in tempo reale

Unicorn Mobility
Unicorn Mobility è una startup innovativa che promuove la mobilità sostenibile attraverso servizi di mobilità elettrica leggera destinati a hotel, imprese e condomini residenziali.
SETTORE
Startup
Smart Mobility
Green Economy
Turismo
Welfare
TECNOLOGIE
AWS
Teltonika
Hongji
Segway
JavaScript
TypeScript
Python
Java
Netty
Spring Framework
MongoDB
DocumentDB
SVILUPPO
Backend
IoT
ETL
Big Data
Real-time Data
System Integration
Microservizi
L'esigenza
L'ecosistema Unicorn Mobility comprende un'applicazione mobile per gli utenti, un pannello di backoffice dedicato al customer care e un backend incaricato di gestire i veicoli, tra cui biciclette e monopattini elettrici.
Con l'evoluzione del progetto è emersa la necessità di rendere l'infrastruttura più flessibile e scalabile, permettendo alla piattaforma di integrare più produttori di veicoli IoT, ciascuno caratterizzato da protocolli di comunicazione e modelli dati differenti.
L'esigenza era quindi creare un livello di astrazione capace di dialogare con i diversi provider senza modificare il backend applicativo ogni volta che veniva aggiunto un nuovo produttore e senza dipendere da servizi di terze parti.
Mavigex ha progettato e sviluppato questa componente attraverso un middleware di connessione e un'architettura di ingestion, trasformando i dati provenienti dai diversi veicoli in un modello uniforme utilizzabile dal backend.

Esecuzione
Il primo intervento ha riguardato la progettazione di un middleware IoT in grado di interfacciarsi direttamente con i diversi provider dei veicoli.
Abbiamo realizzato un'architettura di data ingestion capace di interpretare i differenti protocolli di comunicazione utilizzati dai produttori, inclusi protocolli TCP, e di trasformare le informazioni ricevute in un formato omogeneo prima di trasferirle al backend.
Il punto centrale della soluzione è stata la definizione di un datamodel unico, costruito a partire dai modelli dati dei singoli produttori. In questo modo il backend non deve conoscere le specificità tecnologiche di ogni veicolo: è il middleware a occuparsi della comunicazione con il dispositivo e della normalizzazione dei dati.
L'architettura permette quindi di separare la gestione dei protocolli IoT dalla logica applicativa, creando un livello di astrazione che facilita l'introduzione di nuovi provider e nuovi modelli di veicolo.
Parallelamente, Mavigex ha ereditato il backend sviluppato da un precedente fornitore, collaborando con il team coinvolto e avviando un processo di refactoring dell'architettura.
L'obiettivo è stato accompagnare la trasformazione da un'architettura prevalentemente monolitica, supportata da servizi esterni, verso un'infrastruttura a microservizi gestita internamente, maggiormente modulare e predisposta all'evoluzione del servizio.
La soluzione è stata sviluppata utilizzando Python e TypeScript, con AWS come infrastruttura cloud e MongoDB e DocumentDB per la gestione dei dati.
Risultati
veicoli
ride al mese
paesi
Realizzazione di un middleware IoT proprietario per gestire la comunicazione con diversi provider di veicoli.
Implementazione di un'infrastruttura adatta alla gestione di dati IoT e informazioni in tempo reale provenienti dalla flotta di veicoli.
Creazione di un sistema di ingestion e normalizzazione dei dati provenienti da dispositivi con protocolli differenti.
CONOSCIAMOCI
