
EMS Commerce
Piattaforma E-Commerce B2B
Panoramica
Un'azienda cliente in Burkina Faso (Apex Invest BF) che distribuisce materiali solari ed elettrici a rivenditori e grossisti aveva un gestionale EMS che funzionava bene per gestire articoli, inventario, clienti e ordini interni, ma mancava completamente di un canale di vendita online. I clienti B2B dovevano chiamare o mandare email per vedere catalogo e prezzi. Con centinaia di prodotti e sistema prezzi complesso (ricarichi settore, IVA, sconti personalizzati, 3 valute), gestire ordini manualmente era lento e limitava la crescita.
Il problema principale non era solo creare un e-commerce, ma integrarlo con l'ERP senza duplicare dati. Articoli, inventario, clienti e listini erano già nel gestionale - riscriverli sarebbe stato un disastro di sincronizzazione. Serviva un sistema che usasse gli stessi dati ma con logica prezzi diversa: i prezzi finali dipendono da ricarico settore (configurabile), IVA articolo, sconti assegnati al cliente, e ruolo utente (consumatore vede IVA inclusa, rivenditore/grossista la vede esclusa).
Ho sviluppato un e-commerce B2B custom in Next.js 16 con React Server Components per performance, completamente integrato con backend Express del gestionale. Il frontend usa Better Auth per autenticazione moderna con sistema approvazione: consumatori sono auto-approvati, rivenditori e grossisti richiedono approvazione admin prima di vedere prezzi. Zustand gestisce stato con persistenza per carrello e preferenze utente.
Per gestire autenticazione tra Next.js e backend Express, ho creato un proxy API (/api/proxy/[...path]) che intercetta tutte le chiamate backend, estrae il cookie HttpOnly better-auth.session_token e lo inoltra al server Express. Questo risolve il problema che i cookie HttpOnly non sono accessibili da JavaScript lato client, garantendo sicurezza (token sessione mai esposto) e gestione automatica CORS.
Risultato: e-commerce B2B production-ready che gestisce 1000+ prodotti con varianti, tempo risposta <100ms per catalogo grazie a caching multi-livello (Redis + request-scoped + header HTTP), 99.9% uptime, sistema approvazione utenti con 3 ruoli, carrello persistente con sincronizzazione multi-dispositivo e validazione prezzi real-time.
Funzionalità Chiave
- Integrazione zero-duplicazione con ERP EMS: prodotti, inventario, clienti condivisi (nessun problema sync)
- Sync carrello real-time multi-dispositivo: aggiungi su mobile, vedi su desktop (tracking sessione Better Auth, UI ottimistica)
- Sistema prezzi dinamico: calcolo automatico ricarico settore + IVA + sconti multipli per ruolo utente
- Tempo risposta <100ms per catalogo: caching distribuito Redis + cache request-scoped + query batch