Move è una startup nel settore dei pagamenti cashless, operante nel settore tedesco. La sua missione è fornire una nuova prospettiva sulla gestione finanziaria, creando un'esperienza di pagamento sicura e senza interruzioni che consente a individui e aziende di gestire facilmente le proprie transazioni in mobilità.
L'obiettivo principale era implementare un'architettura a microservizi che garantisse velocità di sviluppo, prestazioni, affidabilità e sicurezza. Inizialmente, lo sviluppo dell'app era stato avviato come un monolite basato su Spring, ma questo approccio si è rivelato inadatto e la transizione ai microservizi si è resa necessaria per soddisfare le crescenti esigenze di crescita e innovazione del mercato.
La startup ha iniziato l’attività con un team di sviluppo esterno, ma mancava di competenze tecniche interne per comprendere appieno il lavoro svolto e si trovava ad affrontare ritardi nei rilasci promessi. Il cuore dell’architettura, lato API, era un monolite basato su Spring che rendeva difficile la gestione e l’evoluzione del sistema.
Lato sviluppo sono stati effettuati i seguenti:
Valutazione delle competenze degli sviluppatori: un’analisi approfondita delle competenze degli sviluppatori è stata eseguita per comprendere le decisioni tecniche prese. Ciò ha permesso di adattare il team alle nuove esigenze tecnologiche e garantire una transizione senza intoppi.
Cambiamento del team: la necessità di adattarsi alle nuove tecnologie ha portato un cambiamento nel team, con un focus su sviluppatori con competenze specifiche su Nest.js, PostgreSQL, Rabbit MQ, Flutter e Angular.
Implementazione di tecnologie specifiche: sono stati implementati 10 microservizi Nest.js, utilizzando 5 database PostgreSQL e un broker Rabbit MQ. Inoltre, sono state sviluppate due app mobile in Flutter e due app web in Angular per garantire un'esperienza utente coesa su diverse piattaforme.
Gestione iterativa dello sviluppo: è stata adottata una gestione iterativa dello sviluppo tramite sprint, garantendo un continuo monitoraggio e miglioramento, così come il rispetto delle scadenze e la qualità del prodotto.
Per affrontare le sfide di crescita e innovazione, Move ha implementato un set di tecnologie avanzate che hanno migliorato l'architettura e le operazioni del sistema. Le tecnologie utilizzate sono state: