Strumento interno per comporre distinte materiali (BOM) per sistemi Cablemaster. Funziona offline come PWA.
Wizard — guida passo-passo: scegli motore, tensione, cavo, connettori, hawse e contenitore. Alla fine ottieni una BOM editabile che puoi salvare, condividere via link o esportare in CSV.
Kit preconfigurati — configurazioni standard pronte all'uso. Puoi anche importare kit ricevuti via link.
Catalogo — ricerca libera su tutti gli articoli. Aggiunge direttamente alla BOM aperta.
| File | Cosa contiene |
|---|---|
index.html |
Tutta l'app — UI, logica, wizard |
catalog.json |
Unica fonte di verità per gli articoli: motori, cavi, connettori, hawse, contenitori, kit preset |
rules.json |
Regole del wizard: vincoli (es. kit obbligatori) e suggerimenti automatici |
sw.js |
Service worker per cache offline |
manifest.webmanifest |
Configurazione PWA (icone, nome, tema) |
Il modo normale è usare il pannello admin:
- n/a
- Modifica articoli inline, oppure importa un CSV (colonne:
Codice, Descrizione, Categoria) - Clicca Esporta catalog.json
- Sostituisci il file nel repo e fai push — gli utenti online ricevono i dati aggiornati al prossimo avvio
Per modifiche strutturali (nuovi tipi di connettore, nuove regole wizard) è più comodo editare catalog.json e rules.json direttamente.
I cavi, connettori e hawse vengono proposti dal wizard tramite query sugli attributi — non su liste fisse di codici. Per aggiungere un articolo:
- Cavo nuovo → aggiungilo in
catalog.jsonnel bloccocaviconattrs.od,attrs.amp,attrs.gruppo_conncorretti. Appare nel wizard di qualsiasi motore con OD compatibile. - Variante connettore → aggiungilo nel gruppo connettore corrispondente in
connettori(es.alt_sp2inCONN_63A). Appare come opzione nello step connettori. - Nuovo vincolo o suggerimento → aggiungilo in
rules.json. Il wizard lo valuta automaticamente senza toccareindex.html.
python -m http.server 8000Apri http://localhost:8000/ — serve un server HTTP perché l'app carica catalog.json e rules.json via fetch.
Nota: aprire
index.htmldirettamente dal filesystem (doppio click) non funziona per via delle restrizioni CORS sui file locali.
Il progetto gira su GitHub Pages dalla branch main. Ogni push aggiorna automaticamente l'app online.
Dopo aver aggiornato catalog.json, il service worker distribuisce i dati nuovi a tutti gli utenti online al successivo avvio — senza bisogno di toccare sw.js o incrementare la versione cache.
Sviluppato da DF · IT · Rev. 2 · 2026