Indietro

PartsTree rinnova il proprio ecosistema e-commerce legacy con Shopware per gestire grandi volumi e dati di prodotto complessi

Informazioni chiave:

Versione di Shopware

Azienda

PartsTree è un fornitore leader di ricambi per attrezzature motorizzate da esterno. Serve privati e professionisti della riparazione con un catalogo altamente specializzato e una ricerca dei ricambi basata su diagrammi.

Funzionalità

Funzionalità tecniche

Vantaggi di Shopware:

  • Flessibilità per modelli dati complessi

    Shopware ha consentito a PartsTree di modellare entità e-commerce non standard, come modelli di attrezzature e diagrammi esplosi dei ricambi, all’interno di un sistema strutturato.

  • Architettura scalabile per cataloghi di grandi dimensioni

    La piattaforma gestisce milioni di prodotti e centinaia di milioni di relazioni, mantenendo performance e stabilità.

  • Controllo operativo grazie all’automazione basata su regole

    Shopware Rule Builder e Flow Builder consentono ai team di gestire workflow complessi per spedizioni, prezzi e ordini senza dipendere dalle risorse di sviluppo.

  • Una base composable pronta per il futuro

    Shopware si integra con sistemi legacy, middleware e servizi di terze parti, offrendo al contempo la scalabilità necessaria per supportare crescita ed espansione nel lungo periodo.

Rebuilding Commerce for a Highly Specialized Business

A division of Hill Country Outdoor Power, PartsTree operates at the intersection of ecommerce and technical product discovery. As a supplier of replacement parts for outdoor power equipment, the company serves both individual consumers and professional repair businesses with a catalog that spans millions of components across hundreds of brands.

What sets PartsTree apart is not just the scale of its catalog, but the way customers interact with it. Rather than browsing traditional product categories, users begin with a specific piece of equipment, navigating through detailed schematics consisting of exploded parts diagrams, images and interactive hot-spots to research, identify and confidently purchase the exact component they need, often down to an individual bolt or washer. This workflow allows customers to move from diagnosis to order in a single, seamless experience.

For more than two decades, this experience was powered by a custom-built system. Over time, however, that system became increasingly difficult to scale, maintain, and adapt.

“Non avevamo bisogno soltanto di una nuova piattaforma – ci serviva un partner che comprendesse perché quella precedente stava limitando la nostra crescita. L’approccio di Altus Nova alla discovery, orientato prima di tutto al business, ha tradotto la complessità di un sistema di catalogo sviluppato nell’arco di 25 anni in una solida piattaforma Shopware 6 progettata per scalare. Questo lavoro, insieme all’infrastruttura di Webscale, offre a noi e al nostro partner Pyek Capital la fiducia necessaria per investire nella crescita, sapendo che la piattaforma sarà in grado di sostenerla.” — Doug Hooks, President, PartsTree.com

Quando un sistema legacy diventa un limite

La precedente piattaforma di PartsTree non era una soluzione e-commerce commerciale. Era un ecosistema sviluppato su misura e cresciuto organicamente nell’arco di 25 anni, progettato per supportare un modello dati e un’esperienza cliente del tutto peculiari.

Al centro vi era un database documentale con una struttura poco rigida, evoluto continuamente per accogliere nuovi brand, prodotti e casi limite. Se inizialmente questo approccio offriva flessibilità, nel tempo ha generato un considerevole debito tecnico, rendendo sempre più complessi la manutenzione e il passaggio a una nuova piattaforma.

Gran parte della logica del sistema era diventata articolata, con numerosi percorsi di eccezione non documentati. In parallelo, si erano accumulate incongruenze nei dati di prodotto, nelle convenzioni di denominazione e nelle relazioni tra centinaia di produttori – una conseguenza comprensibile di 25 anni di sviluppo continuo da parte di un team ristretto, spesso senza il tempo necessario per attività strutturate di refactoring e revisione.

Di conseguenza, anche modifiche di base erano diventate difficili da implementare. Estendere il sistema a nuovi brand, mercati o modelli di business risultava sempre meno sostenibile. Allo stesso tempo, il percorso di crescita di PartsTree, sostenuto anche da investimenti di private equity, richiedeva una base più moderna e scalabile, capace di integrare nuovi brand, ampliare il numero di SKU e supportare potenziali operazioni di consolidamento. Serviva una piattaforma in grado di gestire non solo la complessità esistente, ma anche le ambizioni future dell’azienda.

Trasformare milioni di prodotti e relazioni

La sfida principale del progetto risiedeva nella scala e nella struttura dei dati di PartsTree. Il catalogo comprende 4,4 milioni di prodotti, 462.000 categorie di modelli di attrezzature e 1,5 milioni di schemi tecnici composti da diagrammi esplosi, immagini e hotspot interattivi.

Questi diagrammi collegano i singoli componenti a modelli specifici, creando una rete estremamente articolata di relazioni. Considerando tutte le mappature e le entità di supporto, il sistema comprende circa 105 milioni di record di relazione.

La migrazione richiedeva di collegare due sistemi profondamente diversi. L’ambiente legacy utilizzava un database documentale con una struttura flessibile, mentre Shopware si basa su un database MySQL strutturato con rigorosi vincoli di integrità referenziale.

A rendere il processo ancora più complesso erano le incongruenze tra i cataloghi dei diversi produttori. Ogni brand definiva i prodotti secondo convenzioni proprie per codici articolo, attributi e categorizzazione. Numerosi casi limite ed eccezioni nei dati sono emersi soltanto durante l’ingestion, richiedendo un continuo perfezionamento della logica di mapping.

Al momento, il sistema legacy rimane la fonte dati principale per le operazioni sul catalogo di PartsTree. Altus Nova ha quindi progettato e realizzato un’architettura di sincronizzazione dei dati in tempo reale per mantenere allineati i due sistemi: gli eventi di modifica provenienti da MongoDB vengono acquisiti tramite AWS Lambda e memorizzati temporaneamente in DynamoDB, attivando due flussi di sincronizzazione – aggiornamenti di ricambi e inventario ogni cinque minuti e modifiche più consistenti al catalogo durante la notte.

L’architettura intercetta esclusivamente le modifiche, anziché elaborare nuovamente l’intero catalogo a ogni ciclo. In questo modo, il processo rimane efficiente anche su una scala di 105 milioni di record. Più che una migrazione una tantum, è stata realizzata un’integrazione continua che garantisce allo storefront dati sempre aggiornati.

Progettare un’esperienza e-commerce non convenzionale

Uno dei requisiti centrali del progetto era preservare e migliorare l’esperienza di ricerca dei prodotti basata sugli schemi tecnici di PartsTree, essenziale per individuare i ricambi necessari per motori complessi. A differenza dei tradizionali e-commerce, dove i prodotti sono organizzati in categorie e filtrati per attributi, il percorso di PartsTree parte da una specifica attrezzatura.

Questo approccio richiedeva un modello dati profondamente diverso. Altus Nova ha introdotto entità personalizzate per i diagrammi e le relative relazioni con prodotti e modelli di attrezzature. Ha inoltre sviluppato interamente su misura la funzionalità IPL (Illustrated Parts List), utilizzando i dati di posizionamento degli hotspot provenienti dallo strumento proprietario di PartsTree e sovrapponendo link interattivi ai diagrammi OEM.

Le categorie sono state ripensate come strutture organizzative per le attrezzature, anziché come tradizionali gerarchie di merchandising. Questi adattamenti, resi possibili dall’architettura estensibile di Shopware, supportano l’esperienza altamente specializzata di PartsTree senza compromettere performance o manutenibilità.

Una piattaforma progettata per flessibilità e controllo

Dopo un processo di valutazione strutturato che ha coinvolto diversi vendor, PartsTree ha scelto Shopware per la sua flessibilità, estensibilità e le solide funzionalità amministrative. Tra gli elementi distintivi figuravano la capacità della piattaforma di gestire modelli dati personalizzati e gli strumenti di automazione basati su regole.

Rule Builder e Flow Builder hanno avuto un ruolo centrale nel sostituire logiche personalizzate particolarmente complesse. PartsTree, ad esempio, gestisce una matrice di spedizione estremamente dettagliata – equivalente a un foglio di calcolo di circa 300 righe di logica – con variabili che includono area geografica, tipologia di cliente, vincoli di consegna e disponibilità dei vettori.

Anziché codificare queste regole direttamente nel software, il team le ha implementate nel motore di regole di Shopware. Gli utenti business possono così gestire e aggiornare la logica senza ricorrere al supporto degli sviluppatori.

Allo stesso modo, i workflow degli ordini sono stati automatizzati con Flow Builder, consentendo routing dinamico, validazione e gestione delle eccezioni sulla base di condizioni predefinite. Questo cambiamento ha ridotto significativamente la dipendenza dalle risorse di sviluppo e aumentato l’agilità operativa.

La scelta della piattaforma è stata inoltre effettuata considerando una roadmap da tre a cinque anni, non soltanto i requisiti della prima fase. La suite B2B nativa di Shopware ha rappresentato un elemento determinante: il programma professionale ProAdvantage di PartsTree richiede funzionalità specifiche per prezzi, ordini e gestione degli account, che l’architettura di Shopware è progettata per supportare nativamente.

Anche le funzionalità multi-site e multi-store sono state una scelta precisa. L’espansione verso nuovi brand, nuovi canali e potenziali implementazioni white-label era già prevista, consentendo di integrare questi investimenti nell’architettura di base anziché rimandarli a un futuro progetto di replatforming.

La stessa logica si applica all’architettura headless dello storefront, sviluppata con Nuxt/Vue.js e personalizzata a partire dalla libreria headless starter di Shopware. PartsTree potrà aggiungere nuovi brand, integrazioni CMS o ulteriori esperienze frontend senza ricostruire il core commerce. Vue.js è inoltre allineato al layer amministrativo di Shopware, consentendo alle personalizzazioni di storefront e admin di condividere una base tecnologica comune e riducendo la complessità futura.

Sostituire il sistema di gestione degli ordini

Lo storefront è il risultato più visibile del progetto. Ma il cambiamento più rilevante potrebbe essere quello avvenuto dietro le quinte.

Il sistema di gestione degli ordini di PartsTree era il componente più datato e fragile del codice legacy – il livello in cui stati degli ordini, gestione delle eccezioni e logiche di trasferimento al magazzino si erano stratificati per oltre vent’anni, con una documentazione minima. Sostituirlo era necessario, ma ricostruirlo nuovamente come software custom avrebbe rischiato di riprodurre lo stesso problema nel giro di un decennio.

Il team ha quindi ricostruito la gestione degli ordini all’interno di Shopware Admin, utilizzando stati degli ordini, tag e regole di Flow Builder per riprodurre processi aziendali che in precedenza esistevano esclusivamente nel codice applicativo. Gli ordini vengono ora verificati rispetto alle condizioni di sospensione e routing prima di raggiungere il magazzino, anziché successivamente. Le eccezioni vengono segnalate al customer service tramite tag, evitando il ricorso a code manuali. Gli utenti business possono inoltre modificare direttamente queste regole.

Gestire Shopware Admin sulla scala di PartsTree ha richiesto un importante lavoro congiunto di engineering. Strumenti amministrativi progettati per cataloghi convenzionali si comportano diversamente quando devono gestire 4,4 milioni di prodotti e il volume di stati e tag richiesto dai workflow di PartsTree.

Altus Nova e Shopware hanno collaborato su performance, configurazioni ed extension point, con il team Shopware impegnato in code review e consulenza architetturale per requisiti che portavano l’area amministrativa a operare su una scala senza precedenti.

Il risultato non è un sistema di gestione degli ordini sviluppato ad hoc. È una funzionalità di piattaforma supportata e configurabile, che il team di PartsTree può gestire ed estendere in autonomia – sostituendo così il componente più fragile di un codebase vecchio di 25 anni con una soluzione sostenibile nel tempo.

Costruire un’architettura moderna e integrata

La nuova soluzione combina uno storefront headless con il backend di Shopware, supportato da un layer middleware basato su micro-batch e messaggi che sincronizza continuamente gli aggiornamenti provenienti dal sistema legacy del catalogo. Quest’ultimo rimane la fonte dati principale per i prodotti, mentre la nuova architettura consente di strutturare, normalizzare, arricchire e presentare queste informazioni all’interno di un moderno framework e-commerce.

La migrazione ha inoltre garantito continuità alla base clienti esistente di PartsTree. Circa 700.000 account cliente legacy sono stati trasferiti in Shopware, inclusi indirizzi memorizzati e metodi di pagamento Braintree archiviati nel vault. I clienti abituali possono quindi accedere ed effettuare il checkout senza dover inserire nuovamente i dati di pagamento o spedizione.

Lo storico degli ordini rimane nel sistema legacy, mentre sulla nuova piattaforma la cronologia parte dal momento del lancio. Una scelta consapevole di perimetro, che ha permesso di concentrare la migrazione sui dati effettivamente utilizzati dai clienti per le transazioni.

Tra le integrazioni principali figura un’implementazione personalizzata di Braintree, che ha reso disponibili anche nuovi wallet come Apple Pay, Google Pay e PayPal, precedentemente non offerti da PartsTree. A queste si aggiungono il calcolo delle imposte tramite TaxJar, tariffe di spedizione e validazione degli indirizzi in tempo reale attraverso UPS, USPS e FedEx, oltre alla ricerca basata su OpenSearch. L’hosting è fornito da Webscale, un altro partner chiave nel processo di migrazione.

“Partivamo da un’esigenza concreta e Webscale ci aiutava a capire come realizzarla. Lavoravamo insieme per suddividere il problema, definire la strategia e costruire i diversi componenti. Debugging, test e sviluppo del codice erano responsabilità condivise tra tutti i team.”

— Sam Bogart, Director of Technology, Altus Nova

Un’implementazione basata sulla collaborazione

Il progetto è stato completato in circa dieci mesi, dopo una fase iniziale di pianificazione dedicata alla definizione della roadmap, alla raccolta dei requisiti e alla progettazione del sistema.

La complessità dei dati, l’unicità del modello di business e la necessità di un’esperienza utente fortemente personalizzata hanno richiesto una stretta collaborazione tra PartsTree, Altus Nova, Shopware e gli altri partner tecnologici. Sebbene si trattasse della prima implementazione Shopware per Altus Nova, il team Shopware ha fornito code review proattive e supporto architetturale durante l’intero progetto.

“Shopware si è impegnata pienamente per il successo del progetto: ha recepito i nostri requisiti apportando modifiche al core della piattaforma, sviluppato plugin per evitare personalizzazioni del codice core e collaborato con i partner dell’ecosistema per ottenere gli aggiornamenti necessari. Il team partecipava alle call settimanali ed era presente ogni giorno sul canale Slack condiviso. Questa collaborazione è stata estremamente preziosa per l’intero progetto.”

— Chris Hedge, Product Officer, Altus Nova

I team hanno lavorato insieme in tempo reale per affrontare incongruenze nei dati, requisiti infrastrutturali e sfide tecniche. Questo modello collaborativo è stato essenziale per gestire la complessità del progetto e raggiungere il risultato previsto.

Come Altus Nova ha gestito i rischi della migrazione

Migrare 105 milioni di record di relazione da un sistema custom sviluppato nell’arco di 25 anni, senza interrompere un’attività e-commerce operativa, richiedeva un approccio sistematico alla validazione, alla gestione delle eccezioni e all’introduzione progressiva del traffico.

Altus Nova ha implementato una logica di validazione estesa a ogni entità e relazione del sistema – ogni ricambio, ogni modello e ogni hotspot. Per ciascun batch di sincronizzazione sono state eseguite validazioni pre e post-processo, con notifiche e possibilità di intervento umano in caso di problemi di integrità.

Le rappresentazioni JSON delle pagine modello sono state estratte sia dall’ambiente legacy sia da Shopware e confrontate a livello di dati, verificando che ciò che il cliente avrebbe visualizzato fosse rappresentato correttamente nel nuovo catalogo. Questo approccio ha consentito una validazione completa su una scala impossibile da gestire tramite controlli manuali.

Il catalogo di PartsTree, sviluppato nell’arco di 25 anni, conteneva eccezioni note e altre ancora da individuare. Quelle conosciute sono state integrate fin dall’inizio nei requisiti di migrazione. Durante lo sviluppo, Altus Nova ha identificato diverse decine di ulteriori casi di eccezione che interessavano migliaia di entità. La maggior parte riguardava condizioni riconosciute dal team PartsTree una volta evidenziate, mentre alcune rappresentavano nuove anomalie mai rilevate in precedenza.

Il risultato è un catalogo Shopware che riproduce fedelmente i dati di origine, presentando correttamente modelli e ricambi attraverso un’esperienza utente migliorata.

Il sito legacy è rimasto operativo per tutta la durata del progetto. Altus Nova ha attivato il sito Shopware come ambiente parallelo in modalità “early access”, consentendo confronti diretti e una transizione controllata, con rischi ridotti e tempi compatibili con le esigenze dell’azienda e dei clienti.

Il nuovo sito è stato inizialmente aperto su invito ai clienti B2B consolidati. Una volta confermata la stabilità, l’accesso è stato progressivamente ampliato tramite banner di opt-in. Il traffico può essere reindirizzato al sito legacy in qualsiasi momento: una transizione controllata e reversibile, anziché un cutover definitivo.

“Migrare 105 milioni di record di relazione da un sistema sviluppato internamente e fatto evolvere per 25 anni non sarebbe mai stato semplice. Ciò che ha fatto la differenza è stato il modo in cui Altus Nova ha affrontato il percorso insieme a noi: si è assunta la responsabilità del progetto, ci ha tenuti informati in ogni fase e ha compreso la logica del nostro catalogo abbastanza a fondo da distinguere i casi limite realmente rilevanti. Ha lavorato attraverso gli extension point supportati da Shopware, senza forzare modifiche custom al core. Il risultato è una piattaforma che possiamo mantenere, realizzata da un team che ci ha accompagnati fino a quando tutto ha funzionato come previsto.”

— Drew Dutton, CTO, PartsTree.com

Dai processi manuali all’agilità operativa

La piattaforma è stata inizialmente resa disponibile ai clienti B2B consolidati, per poi estendere progressivamente l’accesso a tutti i visitatori dopo averne verificato la stabilità. L’impatto operativo è concreto.

Nel sistema legacy, qualsiasi modifica – anche una semplice correzione testuale – richiedeva l’intervento di uno sviluppatore e un deployment completo in produzione. Gli aggiornamenti del catalogo venivano eseguiti in batch circa due volte al giorno.

Il team di sviluppo interno gestiva il sito insieme al catalogo, agli strumenti di magazzino e a un ERP legacy, lasciando poco spazio per migliorare l’esperienza e-commerce. La riluttanza a effettuare nuovi rilasci non dipendeva soltanto dalla disponibilità di risorse, ma anche dal rischio percepito: gli aggiornamenti della vecchia piattaforma avevano spesso generato nuovi problemi.

Con Shopware, le regole di spedizione, le logiche di sospensione degli ordini e i contenuti CMS possono essere gestiti direttamente dagli utenti business – senza ticket di sviluppo né deployment. Gli aggiornamenti relativi a ricambi e inventario vengono ora sincronizzati entro cinque minuti.

L’infrastruttura di hosting di Webscale offre ambienti isolati per test sicuri e iterazioni rapide, riducendo il rischio associato a ogni release. Il risultato è una piattaforma in cui il team operativo ha un controllo concreto sulla logica di business, mentre gli sviluppatori possono concentrarsi sulla creazione di nuove funzionalità anziché sulla manutenzione di quelle esistenti.

“La nostra piattaforma è progettata per rendere quasi invisibile l’infrastruttura nella maggior parte delle implementazioni Shopware, ma PartsTree richiedeva un tuning mirato. Ed è proprio qui che il modello di Shopware, insieme a Webscale, offre un vantaggio rispetto a piattaforme SaaS più rigide, che non consentono lo stesso livello di personalizzazione dell’infrastruttura. Altus Nova ha lavorato a stretto contatto con noi per rappresentare le esigenze specifiche di PartsTree, valutare le opzioni, rendere espliciti i trade-off infrastrutturali e trovare il giusto equilibrio tra scala, resilienza e costi. Il coordinamento tra i team è stato gestito con grande disciplina operativa, permettendo a Webscale di individuare la configurazione più adatta anziché ricorrere ai template standard disponibili per i clienti Shopware.”

— Jay Smith, CEO, Webscale Networks

Una base per crescere ed espandersi

Con la nuova piattaforma operativa, la roadmap di PartsTree va ben oltre lo storefront rivolto ai consumatori. Il prossimo importante ambito di sviluppo riguarda il B2B, con l’implementazione delle funzionalità B2B native di Shopware per ProAdvantage, il programma dedicato ai clienti professionali di PartsTree.

Officine, rivenditori e operatori di flotte hanno esigenze specifiche in termini di prezzi, ordini e gestione degli account. Poiché la suite B2B di Shopware ha rappresentato uno dei principali fattori nella scelta della piattaforma, questa evoluzione può avvenire su un’architettura già predisposta – senza richiedere un nuovo progetto di replatforming.

L’espansione verso nuovi brand e canali rappresenta un altro obiettivo a breve termine. Nuovi store dedicati ai singoli brand, micrositi per segmenti specifici e potenziali implementazioni white-label potranno essere realizzati sull’istanza Shopware esistente, mantenendo contenuto l’overhead operativo e ampliando al contempo la presenza sul mercato.

Anche l’AI fa parte della roadmap, con iniziative volte a migliorare la reperibilità dei ricambi, automatizzare il customer service e scalare la gestione dei contenuti in un catalogo troppo vasto per essere curato manualmente. Altus Nova continuerà a operare come partner di implementazione per queste iniziative, lavorando in parallelo con il team interno di PartsTree mentre l’azienda amplia le capacità della piattaforma.

“È il sito Shopware più performante che abbia mai visto.”

— Jason Nyhus, President & General Manager, Shopware North America

Funzionalità utilizzate in questo caso

Scopri il potere delle funzionalità innovative di Shopware - il cuore della nostra soluzione unica. Scopri quali di queste funzionalità il nostro cliente ha utilizzato con successo nel proprio caso. Approfondisci i dettagli e utilizza questa ispirazione per il tuo progetto.

Rule Builder

Definisci regole basate su condizioni con Rule Builder. Controlla prezzi, costi di spedizione, promozioni e altre logiche operative.

Scopri di più su Rule Builder
Definisci regole basate su condizioni con Rule Builder. Controlla prezzi, costi di spedizione, promozioni e altre logiche operative.

Flow Builder

Automatizza i processi aziendali con Flow Builder in un’unica interfaccia intuitiva. Crea workflow per attività attivate da eventi, senza scrivere codice.

Scopri di più su Flow Builder
Automatizza i processi aziendali con Flow Builder in un’unica interfaccia intuitiva. Crea workflow per attività attivate da eventi, senza scrivere codice.
Caricamento del modulo...
Copiato negli appunti