Caso studio

L’ammodernamento del backoffice della piattaforma digitale di Artimondo

Contesto

Artimondo è un’e-commerce focalizzata sulla vendita di prodotti artigianali e locali, con una solida base di clienti e una piattaforma tecnologica che necessitava di evolversi per supportare una crescita continua.

TextShell, un’applicazione interna, è stata sviluppata originariamente in modo rapido e con un approccio “quick&dirty” per accelerare i tempi di sviluppo. Sebbene funzionante, la piattaforma presentava numerosi problemi legati alla manutenibilità e all’integrazione con i sistemi più moderni.

Artimondo ha quindi scelto di collaborare con Axelerant per un assessment dettagliato dell’applicazione TextShell e con il nostro team di tech execution Next per sviluppare la soluzione ideale per una progressiva evoluzione, migrando verso una nuova architettura basata su Symfony.

Sfida

La piattaforma TextShell era costituita da una serie di script legacy che, sebbene abbiano svolto il loro compito iniziale, presentavano molte criticità:

  • Codice monolitico e poco modulare.
  • Assenza di una struttura chiara basata su design pattern moderni.
  • Difficoltà nella manutenibilità e evoluzione a causa della struttura del codice.
  • Problemi di sicurezza, come la possibilità di SQL injection e l’uso di password non sicure.
  • Integrazione con il sistema di magazzino (DSC) che richiedeva miglioramenti.
  • La necessità di migrare verso una piattaforma più moderna, con una struttura scalabile e più sicura.

Soluzione

Per affrontare queste sfide, Axelerant ha proposto un piano di refactoring del codice esistente, evolvendo TextShell verso una nuova architettura basata su Symfony.

Questo percorso di evoluzione si è suddiviso in due fasi principali: un assessment iniziale del codice e una fase di sviluppo per concretizzare le soluzioni proposte.

  1. Assessment del Codice Legacy:
    • Analisi della base di codice esistente: Un’analisi approfondita della piattaforma TextShell ha evidenziato le principali problematiche, tra cui l’uso di PHP in modalità procedurale, l’assenza di test unitari, e una gestione inadeguata della sicurezza.
    • Proposta di refactoring graduale: È stato proposto di non riscrivere completamente l’applicazione ma di avviare un refactoring progressivo, utilizzando Symfony come framework principale per separare le logiche applicative e migliorare la manutenibilità.
  2. Sviluppo della Nuova Architettura con Symfony:
    • Creazione di un wrapper Symfony: È stato sviluppato un Legacy Bridge per incapsulare il codice esistente, rendendo più facile la migrazione progressiva senza compromettere le funzionalità attive. Questo approccio ha permesso di mantenere la piattaforma operativa mentre si iniziava a migrare i componenti legacy.
    • Migrazione verso Doctrine: La gestione delle connessioni al database è stata migrata su Doctrine, una libreria ORM, per migliorare la gestione delle query e la sicurezza.
    • Sviluppo di test automatizzati: Sono stati creati test funzionali per le funzionalità più critiche della piattaforma, garantendo che il refactoring non introducesse bug.
    • Integrazione con il sistema di magazzino DSC: Sono stati sviluppati script per sincronizzare i dati di magazzino con il sistema DSC, migliorando l’efficienza della gestione logistica.
  3. Setup dell’ambiente di sviluppo e test:
    • Sono stati configurati nuovi ambienti di sviluppo e test all’interno di AWS, includendo infrastruttura di Continuous Integration e Deployment (CI/CD) per semplificare i flussi di lavoro e migliorare l’efficienza nello sviluppo e rilascio delle nuove funzionalità.

Risultati

  1. Manutenibilità e Scalabilità: La nuova architettura basata su Symfony ha reso l’applicazione più modulare, facile da manutenere e scalabile, riducendo i costi a lungo termine.
  2. Maggiore Sicurezza: Miglioramenti significativi nella gestione della sicurezza, tra cui la protezione contro le SQL injection e la gestione sicura delle password.
  3. Integrazione Ottimizzata: L’integrazione con il sistema di magazzino DSC è stata semplificata e ottimizzata, migliorando l’efficienza operativa.
  4. Automazione e Continuous Delivery: L’introduzione di un processo di Continuous Integration ha reso il ciclo di sviluppo più rapido e sicuro, con il rilascio di nuove funzionalità in tempi ridotti e senza interruzioni.
  5. Performance Ottimizzate: La piattaforma è stata ottimizzata per supportare una maggiore quantità di traffico e per ridurre i tempi di caricamento e l’utilizzo delle risorse.

Grazie al supporto di Axelerant, Artimondo ha potuto modernizzare la piattaforma TextShell, migliorando la sua manutenibilità, sicurezza e performance.

La migrazione a Symfony e l’approccio di refactoring graduale hanno permesso di evolvere la piattaforma senza interrompere le operazioni quotidiane.

Questo approccio ha garantito una transizione fluida verso una nuova architettura, in grado di supportare la crescita futura.

Contattaci

Vuoi far decollare la tua area Tech? Contattaci cliccando sul pulsante.

Altri casi studio