Case study
Artimondo: assessment and gradual platform modernization
Historical case study
This account describes the engagement at the time of the original Italian publication. Historical service names and client roles are retained.
Context
Artimondo is an e-commerce business focused on artisan and local products. Its internal TextShell application had been developed rapidly and worked, but had accumulated maintainability and integration problems.
Artimondo engaged Axelerant for an assessment and its Next technology execution team for a gradual evolution towards Symfony.
Challenge
The legacy application relied on procedural scripts and a monolithic, weakly modular structure. The assessment identified missing unit tests, maintainability problems, security issues including SQL injection exposure and insecure passwords, and a need to improve integration with the DSC warehouse system.
Approach
The proposed approach was progressive refactoring rather than a complete rewrite. A Symfony Legacy Bridge encapsulated existing code so components could be migrated while the platform remained operational.
- Database connection management moved to Doctrine to improve query handling and security.
- Functional tests covered critical features to protect against regressions.
- Scripts synchronized warehouse information with DSC.
- New AWS development and test environments, with CI/CD infrastructure, supported the development and release workflow.
Outcomes
The original account reports improved modularity, maintainability, scalability, security and warehouse integration. Continuous Integration supported a faster development cycle, while performance work aimed to handle more traffic with lower loading times and resource use.
Gradual migration allowed TextShell to evolve without interrupting daily operations, creating a platform better suited to future growth.
Read the original Italian case study
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.
- 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à.
- 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.
- 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
- 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.
- Maggiore Sicurezza: Miglioramenti significativi nella gestione della sicurezza, tra cui la protezione contro le SQL injection e la gestione sicura delle password.
- Integrazione Ottimizzata: L’integrazione con il sistema di magazzino DSC è stata semplificata e ottimizzata, migliorando l’efficienza operativa.
- 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.
- 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.
Start with the situation you need to address
What is slowing delivery or holding up a decision?
Tell us what is happening, what it is affecting and which decision you need to make.


