Vai al contenuto principale

Caso di studio · Edilizia residenziale · Web

Mosokna — piattaforma multi-tenant Laravel per preventivi finestre

Pubblicato · Aggiornato · A cura di YuSMP Group Engineering

Come abbiamo rilasciato in produzione una piattaforma di preventivi finestre — un unico motore prezzi Laravel, un unico configuratore React, un unico CRM, a supporto di tre siti brand separati — che offre agli acquirenti un preventivo preciso al millimetro in pochi minuti e al team vendite una casella di posta lead unificata, con postura pronta per audit per US e UE.

SettoreEdilizia residenziale · Web
Anno progetto2023
ModalitàPrezzo fisso + supporto
Mosokna — configuratore finestre Laravel + React con ricerca per indirizzo, configurazioni multi-vetro e carrello

Il brief — tre siti brand, tre calcolatrici, un consolidamento

Il produttore Mosokna si è presentato con tre siti brand, tre calcolatrici di preventivazione indipendenti e tre diverse serie di bug di pricing accumulati. La stessa finestra standard veniva preventivata a tre prezzi diversi a seconda del sito brand su cui il cliente atterrava, e il team vendite non aveva una casella di posta unificata per i lead che arrivavano dai tre negozi online. Il brief di prodotto era inequivocabile: consolidare ogni calcolatrice in un unico motore, offrire agli acquirenti negli Stati Uniti e nell'Unione Europea un preventivo accurato al millimetro con un prefill delle dimensioni basato sull'indirizzo, e collegare il funnel a un CRM reale. Abbiamo verificato ogni calcolatrice legacy nonostante la documentazione incompleta, progettato un motore prezzi Laravel che contiene ogni regola di business in un unico posto, costruito un configuratore React che pilota il motore, e affiancato un modulo CRM che il team vendite usa ogni giorno. Un'architettura multi-tenant significa che un unico deploy alimenta tutti e tre i siti brand con layout per brand, adattatori di pricing regionali e un audit trail condiviso. Il prodotto live è su mosokna.ru per il pubblico home improvement US & UE.

Punti salienti del progetto

Motore prezzi Laravel — unica fonte di verità Macchina a stati configuratore React Rilevamento automatico dimensioni per indirizzo Multi-tenant su 3 siti brand Configurazioni a vetro singolo, doppio, triplo Configuratore porta-finestra balcone CRM con lead scoring Postura pronta per audit · US & UE

I numeri

Una panoramica di ciò che il consolidamento Mosokna ha consegnato attraverso il motore prezzi, il configuratore, il CRM e tre siti brand nel primo ciclo di produzione.

3siti brand serviti da un unico motore — layout per brand e adattatori di pricing regionali
1motore prezzi — ogni regola di business risiede in un unico servizio Laravel per l'intera superficie US & UE
0deriva della calcolatrice legacy — le tre calcolatrici pre-ricostruzione sono ritirate completamente, non rattoppate
1mmprecisione del preventivo — input dimensionale al millimetro con validazione lato server
3configurazioni di vetro — singolo, doppio e triplo più sottotipi porta-finestra balcone
16–22 sett.finestra di consegna tipica per una piattaforma di preventivazione multi-tenant comparabile con CRM
Funnel lead Mosokna — motore prezzi Laravel che consolida tre siti brand in una casella di posta CRM unificata

Perché un motore multi-tenant Laravel al posto di plugin WordPress o configuratori SaaS

La decisione architetturale ha dominato ogni altra leva nella ricostruzione. Abbiamo scelto un motore multi-tenant Laravel rispetto ai plugin calcolatrice WordPress e a un configuratore SaaS preconfezionato perché i compromessi si adattavano a un produttore che gestisce tre siti brand che condividono la fisica del prodotto ma non il racconto del brand. I plugin WordPress sono veloci da installare ed è esattamente la ragione per cui Mosokna era nei guai: ogni sito brand aveva la propria copia del plugin, la propria storia di bug, le proprie modifiche alle regole di pricing che nessuno riusciva a riconciliare. Un configuratore SaaS risolve il problema del motore di pricing ma lo scambia con vincoli di template del fornitore, lock-in dei dati del fornitore e impossibilità di legare un layout di brand al motore senza acrobazie con iframe.

Laravel multi-tenant ribalta entrambi i compromessi. Un unico servizio contiene ogni regola di business — conteggi dei vetri, famiglie di profili, optional hardware, supplementi regionali — e i layout per brand leggono dallo stesso motore tramite una REST API pulita. La macchina a stati del configuratore risiede in Laravel e il front end è un thin client React + Redux Toolkit che renderizza tutto ciò che il motore consente, così una modifica di pricing viene distribuita a tutti e tre i siti brand simultaneamente senza copia per sito. Un futuro quarto sito brand è una riga di configurazione, non un progetto di ingegneria.

Laravel multi-tenant vs WordPress + plugin vs configuratore SaaS — confronto rapido
Dimensione Laravel multi-tenant (Mosokna) WordPress + plugin Configuratore SaaS
Isolamento logica configurazioneUn motore, un set di regole, adattatori per brandCopia plugin per sito — deriva immediataProprietà del fornitore — schema fisso
Costo ricostruzione motore prezziModifica un servizio, distribuisci a tutti e tre i sitiModifica tre plugin, sperare nella paritàTicket al fornitore — attesa roadmap
Collegamento form lead a CRMStesso backend — scrittura diretta nel CRMPlugin form + plugin bridge + sync jobSolo webhook a CRM esterno
Adattamento pricing regionale (US & UE)Adattatore per regione su un unico motorePlugin per regione — deriva dello schemaBloccato per regione o extra fee fornitore
Layout personalizzato per brandLayer React indipendente per brandTemplate tema per brandVincoli template fornitore
Audit trail tra siti brandUn unico log di audit — a livello di motoreTre log — riconciliazione manualeLog fornitore — export limitato
Lock-in fornitore / dipendenzeFramework open — portabileEcosistema plugin — moderatoLock-in fornitore rigido

Riferimenti: Documentazione framework Laravel, Documentazione React, Geocodifica OpenStreetMap Nominatim.

Flusso di conversione Mosokna — configuratore React con ricerca per indirizzo, selezione vetri, selettore profilo e input al millimetro

Build del configuratore — React, Redux Toolkit e una macchina a stati

Il configuratore è sviluppato in React con Redux Toolkit che pilota una macchina a stati che rispecchia il motore Laravel uno a uno. L'acquirente inserisce un indirizzo, un passaggio di geocodifica OpenStreetMap Nominatim lo risolve a un edificio, e una ricerca tipologica sulle serie dell'edificio fa emergere le dimensioni tipiche delle finestre per quella unità. Ogni transizione — indirizzo risolto, dimensioni confermate, conteggio vetri scelto, profilo selezionato, optional hardware selezionati — è uno stato guardato nella macchina, così il motore non può mai ricevere una configurazione malformata. L'input al millimetro si valida prima lato client per reattività, poi lato server per autorevolezza prima che un prezzo si blocchi.

La stessa macchina a stati pilota ogni sito brand. I temi React per brand forniscono la tipografia, la palette di colori e la densità di layout che ogni brand richiede, ma il grafo di stati e il round trip del motore sono identici. Il risultato è un configuratore che un acquirente negli Stati Uniti o nell'Unione Europea può completare in pochi minuti, con un prezzo vincolante anziché indicativo, e un carrello completato che approda direttamente nel CRM come lead qualificato. L'intera superficie web viene consegnata nell'ambito della nostra pratica di sviluppo di applicazioni web.

Flusso preventivo Mosokna — motore prezzi Laravel, configuratore porta-finestra balcone, adattatori supplemento regionale

Motore prezzi — Laravel, adattatori regionali e il caso porta-finestra balcone

Il motore prezzi è sviluppato in Laravel con servizi PHP che contengono ogni regola di business accumulata in due decenni di produzione di infissi. Le configurazioni a vetro singolo, doppio e triplo portano ciascuna la propria fisica e i propri componenti di prezzo; i sottotipi porta-finestra balcone ereditano dallo stesso motore ma aggiungono tipi di apertura extra, set hardware e supplementi di installazione. Gli adattatori regionali aggiungono supplementi per regione, valuta e moltiplicatori di manodopera in modo che lo stesso motore prezzi onestamente la stessa configurazione nei mercati US e UE senza biforcazione del set di regole.

Ogni bug legacy proveniente dalle tre calcolatrici ritirate è stato triagliato rispetto al nuovo motore, e un harness di parità ha confrontato oltre 4.000 preventivi storici con i nuovi prezzi riga per riga. Dove il risultato legacy era semplicemente errato, il nuovo motore fornisce la risposta corretta; dove il risultato legacy era una concessione deliberata, il motore la porta avanti con un commento esplicito alla regola di business in modo che il prossimo ingegnere possa trovarla. Il motore si trova dietro la stessa REST API usata dal configuratore, e il CRM vi legge direttamente — nessuna copia separata di «snapshot prezzo» deriva nel record lead. Il livello di pricing viene consegnato nell'ambito della nostra pratica di sviluppo software su misura.

Dashboard operativa Mosokna — casella di posta CRM, lead scoring, isolamento dati multi-tenant, postura pronta per audit

CRM, isolamento dati multi-tenant e postura privacy

Il CRM è integrato nella stessa applicazione Laravel del motore prezzi, così un lead approda nella casella di posta nell'istante in cui l'acquirente completa un carrello — nessun bridge webhook, nessun sync job, nessun gap di consistenza eventuale. I responsabili vendite vedono i lead raggruppati per sito brand, classificati per completezza del configuratore e risoluzione dell'indirizzo, e instradati automaticamente al team di consulenza corretto. L'isolamento dei dati multi-tenant opera a livello di riga del database: ogni record porta una chiave tenant, ogni query la applica, e un responsabile del brand A non può leggere un lead del brand B nemmeno con un URL costruito. I controlli di accesso basati su ruoli indicano quale responsabile può leggere quale lead, e i log di audit catturano ogni lettura e scrittura per la revisione di conformità.

La privacy dei clienti è integrata nella piattaforma fin dal primo giorno. Il flusso di acquisizione lead è consapevole della regione: gli utenti nell'Unione Europea ricevono una schermata di consenso granulare GDPR con toggle separati per il follow-up di marketing e l'analisi del prodotto; gli utenti in California ricevono la disclosure CCPA / CPRA «Non vendere o condividere le mie informazioni personali» nello stesso flusso. I record CRM hanno un periodo di retention definito, le richieste di cancellazione sono un singolo job backend su tutti e tre i siti brand, e il log di audit conserva la traccia evidenziale per l'ambiente normativo US & UE.

Postura di conformità: conforme al GDPR · pronto per ISO 27001 · SOC 2 Type II in corso · compatibile HIPAA · CCPA riconosciuto.

Metodologia di consegna

Un progetto in cinque fasi che ha portato Mosokna da tre calcolatrici brand alla deriva a un'unica piattaforma multi-tenant consolidata con CRM.

Fase 1

Audit legacy & estrazione regole

Tre calcolatrici sito brand verificate riga per riga, regole di business estratte in un set canonico, bug history triagliata, postura GDPR + CCPA mappata, modello dati multi-tenant progettato.

Fase 2

Motore & configuratore

Scheletro motore prezzi Laravel, macchina a stati configuratore, contratto REST API, client React + Redux Toolkit, rilevamento automatico dimensioni per indirizzo tramite OpenStreetMap.

Fase 3

Layout brand & CRM

Temi React per brand che leggono da un unico motore, sottotipo configuratore porta-finestra balcone, modulo CRM, lead scoring, accesso basato su ruoli, instradamento consulenza responsabile.

Fase 4

Consolidamento pronto per audit

Isolamento dati multi-tenant a livello di riga, politiche di retention, flussi di consenso consapevoli della regione, harness di parità che confronta oltre 4.000 preventivi legacy con il nuovo motore, scaffolding preparazione terze parti.

Fase 5

Lancio & telemetria

Cutover sui tre siti brand, calcolatrici legacy ritirate, onboarding del team vendite sul CRM, telemetria del funnel di conversione, ciclo di correzione del primo ciclo nelle superfici US e UE.

CRM del team vendite, lead scoring e una base per i canali partner

Il CRM di Mosokna è stato costruito in modo che il team vendite lavori su una sola casella di posta, non tre. Ogni lead porta il sito brand sorgente, il punteggio di completezza del configuratore, lo stato di risoluzione dell'indirizzo e la cronologia completa della configurazione che l'acquirente ha costruito — incluse le bozze abbandonate che la macchina a stati del configuratore acquisisce a ogni transizione. I responsabili smistano i lead per punteggio, i lead caldi vengono instradati automaticamente alle telefonate di consulenza, e i lead tiepidi entrano in una sequenza di follow-up con template che pre-compilano la configurazione che l'acquirente aveva effettivamente costruito. Il modello di lead scoring è un oggetto di configurazione che il responsabile può regolare senza toccare il codice, così l'azienda può calibrare il significato di «qualificato» man mano che il funnel matura. Un canale partner — dealer e installatori che vogliono inserire il configuratore sul proprio sito con il proprio brand — è una riga di configurazione multi-tenant più un adattatore di pricing per partner, non un build separato. L'intero sottosistema è progettato in modo che un futuro partner finanziario, un livello di pricing contrattuale B2B per gli Stati Uniti e l'Unione Europea, o un passaggio a grandi catene di home improvement sia una modifica alla configurazione del motore e del servizio di entitlement, non un rilascio di codice.

Lancio negli Stati Uniti e nell'Unione Europea

Mosokna è stata lanciata sui tre siti brand con store attivi negli Stati Uniti e nell'Unione Europea. La build in lingua inglese serve gli acquirenti in California, New York, Texas, Florida e Washington negli USA, e gli acquirenti nei Paesi Bassi, Germania, Francia, Irlanda e Svezia nell'UE, senza una codebase separata per regione. Gli adattatori di pricing regionali gestiscono onestamente valuta, moltiplicatori di manodopera e trattamento delle tasse, e il configuratore mostra una disclosure regionale sotto ogni preventivo in modo che l'acquirente veda cosa è incluso e cosa è escluso prima che il prezzo si blocchi. I flussi di consenso sono consapevoli della regione al livello del client: gli utenti nell'UE e nello SEE ricevono una schermata di consenso granulare in stile GDPR con toggle separati per il follow-up di marketing; gli utenti in California ricevono una disclosure in stile CCPA «Non vendere o condividere le mie informazioni personali» nello stesso flusso. Le pratiche di gestione dei dati sono allineate con il GDPR per gli utenti europei e con il patchwork privacy statunitense — CCPA / CPRA (California), VCDPA (Virginia), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas) e Oregon CPA.

Il configuratore e il CRM sono stati distribuiti nelle regioni dealer US e UE in parallelo — Paesi Bassi, Germania, Francia, Svezia e Irlanda per la copertura UE; territori dealer US Est e US Ovest per il Nord America — con i lead di ogni regione provisionati in modo identico rispetto allo stesso database multi-tenant. Il servizio di corrispondenza che sceglie il team di consulenza corretto per lead esegue worker stateless che possono essere assegnati a regioni UE o US in modo indipendente per futuri impegni di residenza dei dati. Il team di ingegneria dietro il progetto opera in CET e mantiene un orario di lavoro CET con sovrapposizione con la costa est degli Stati Uniti (9:00–13:00 ET) per gli stand-up del team vendite, il coordinamento lato produttore e la risposta agli incidenti — il fuso orario che permette a un team vendite US e a un team di ingegneria UE di condividere quattro ore di sovrapposizione live ogni giorno.

Stack tecnologico e roadmap

PHP Laravel React Redux Toolkit PostgreSQL Redis REST API Architettura multi-tenant OpenStreetMap Nominatim DSL motore prezzi Macchina a stati configuratore Modulo CRM Lead scoring Consegna webhook Docker Nginx CDN Edge caching Store log di audit

La roadmap attiva di sviluppo software su misura per Mosokna include un'integrazione con partner finanziario che mostra preventivi a rate dentro il configuratore, un livello di pricing contrattuale B2B con gestione del team, un portale di handoff installatori per dealer partner e un embed del configuratore per siti di home improvement di terze parti. Un'estensione tetti-e-vetrazione che riutilizza lo stesso motore multi-tenant è pianificata, e il sottosistema di entitlement è già strutturato per l'assegnazione multi-postazione. I piani infrastrutturali includono ulteriore ottimizzazione delle prestazioni del motore prezzi, un harness di regressione interno rispetto al set di test di parità e una futura valutazione di preparazione indipendente inserita nella roadmap Cloud & DevOps.

Realizza una piattaforma di preventivazione simile — parlaci

Se stai pianificando una piattaforma di preventivazione, un configuratore multi-tenant o qualsiasi consolidamento dove diverse calcolatrici alla deriva devono convergere in un unico motore per i pubblici in US e UE, abbiamo consegnato questo stack end-to-end e possiamo ridurre significativamente la timeline del progetto. Il prodotto live è disponibile su mosokna.ru, e il team di ingegneria dietro di esso fa parte di YuSMP Group. Lavoriamo a prezzo fisso per MVP ben definiti e con team di sviluppo dedicati per la consegna continuativa, con un orario di lavoro CET e una finestra garantita di sovrapposizione con la costa est degli Stati Uniti (9:00–13:00 ET) per stand-up, demo e risposta agli incidenti.

Prenota una discovery call Scopri i servizi di sviluppo web

Domande frequenti

Quanto costa realizzare una piattaforma di preventivazione finestre con configuratore e CRM?

Un MVP focalizzato per preventivi finestre con motore prezzi Laravel, configuratore React, ricerca per indirizzo, carrello e CRM base per la gestione dei lead ha un costo tipico compreso tra €120.000 e €240.000. L'aggiunta di siti brand multi-tenant che condividono un unico motore, un configuratore porta-finestra balcone, adattatori di pricing regionali, librerie di profili e optional e integrazioni con il sistema contabile del dealer porta un prodotto completo a €260.000–€520.000. I principali fattori di costo sono il consolidamento della logica del motore prezzi, la macchina a stati del configuratore e il livello di isolamento dati multi-tenant.

Perché usare un motore multi-tenant Laravel al posto di plugin WordPress o un configuratore SaaS?

I plugin calcolatrice di WordPress sono rapidi da installare ma bloccano ogni sito brand nella propria copia della logica di pricing, che era esattamente il problema di Mosokna prima della ricostruzione — tre siti, tre calcolatrici alla deriva, tre serie di bug accumulati. Un configuratore SaaS risolve il problema del motore ma cede ogni scelta di layout, CRM e contenuto ai template del fornitore. Laravel multi-tenant offre all'azienda un unico motore, un unico CRM e layout per brand con adattatori di pricing regionali che condividono lo stesso audit trail.

Come funziona il rilevamento automatico delle dimensioni basato sull'indirizzo?

L'acquirente inserisce un indirizzo; un passaggio di geocodifica OpenStreetMap lo risolve a un edificio e una ricerca tipologica sulle serie dell'edificio fa emergere le dimensioni tipiche delle finestre per quella unità. L'acquirente conferma o regola comunque ogni dimensione al millimetro prima che il prezzo si blocchi, ma il rilevamento automatico riduce significativamente l'attrito di misurazione per le serie di edifici più comuni. Dove non esiste una corrispondenza tipologica, l'acquirente inserisce le dimensioni manualmente con la stessa precisione e validazione.

Come appare la conformità GDPR e CCPA per una piattaforma di preventivazione con CRM?

Una piattaforma di preventivazione con CRM raccoglie dati personali reali — nomi, numeri di telefono, indirizzi, cronologia delle configurazioni — quindi gli obblighi sono di primo livello. Il flusso di acquisizione lead espone una schermata di consenso granulare per gli utenti dell'Unione Europea che soddisfa il GDPR, e una disclosure CCPA / CPRA per gli utenti in California nello stesso flusso. I record CRM hanno un periodo di retention definito, i controlli di accesso basati su ruoli indicano quale responsabile può leggere quale lead, e una richiesta di cancellazione è un singolo job backend sull'intero piano dati multi-tenant.

Quanto tempo occorre per rilasciare una piattaforma di preventivazione multi-tenant con CRM?

Un MVP focalizzato con motore prezzi Laravel, configuratore React, ricerca per indirizzo, carrello, modulo CRM e un singolo sito brand richiede tipicamente 16–22 settimane. L'aggiunta di un secondo e terzo sito brand che condividono lo stesso motore, adattatori di pricing regionali, configuratore porta-finestra balcone e instradamento consulenza con il responsabile aggiunge 6–10 settimane. Il passaggio di consolidamento pronto per audit — isolamento dati multi-tenant, accesso basato su ruoli, politiche di retention e flussi di consenso GDPR + CCPA — è spesso sottostimato e dovrebbe essere pianificato con 3–5 settimane.

Condividi questo caso

LinkedIn X

Pianifica un progetto simile

Prenota una discovery call

Richiedi una proposta

Condividi alcuni dettagli e un consulente senior risponderà entro un giorno lavorativo.

Preferisci parlare direttamente? ☎ Chiama +374 44 871 811 ✉ sales@yusmpgroup.com