Configurateur d'armoires sur mesure — SIGNATURE (V1)
Application web open source : site vitrine + configurateur d'armoires modulaires avec prix instantané en CHF.
- Stack : React (Vite) + Node.js (Express) + SQLite
- Licence : MIT
Prérequis
- Node.js 18+
Installation
1. Base de données (SQLite)
Aucune installation de serveur DB : SQLite utilise un fichier local (server/data/configurateur.db, créé automatiquement). Le driver est sql.js (pur JavaScript, pas de compilation native) — pratique sur Windows sans Visual Studio / Windows SDK.
Variables d'environnement (optionnel) : copier server/.env.example vers server/.env pour changer le port ou le chemin de la base :
# optionnel
DATABASE_PATH=./data/configurateur.db
PORT=3001
2. Schéma et données initiales
Depuis la racine du projet (F:\apex) :
npm run install:all # installe les deps du server et du client
npm run db:init # crée server/data/ et applique le schéma SQLite
npm run db:seed # applique les données initiales
Ou en allant dans chaque dossier : cd server puis npm install, npm run db:init, npm run db:seed.
3. Lancer l'API
Depuis la racine :
npm run server
Ou cd server puis npm start. L'API écoute sur http://localhost:3001
4. Lancer le frontend
Dans un autre terminal, depuis la racine :
npm run client
Ou cd client puis npm run dev. L'application est disponible sur http://localhost:5173 (proxy /api vers le serveur).
Variables d'environnement
| Variable | Description | Défaut |
|---|---|---|
DATABASE_PATH |
Chemin du fichier SQLite (serveur) | server/data/configurateur.db |
PORT |
Port du serveur API | 3001 |
Structure
server/— API Express, moteur de prix, schéma et seeds PostgreSQLclient/— SPA React (Vite), pages Accueil et Configurateur
Routes
/— Page vitrine (hero, pourquoi SIGNATURE, comment ça marche, tarifs, CTA)/configurateur— Configurateur (paramètres, récap, prix CHF, commande / lead)
API
GET /api/products— Produits actifsGET /api/block-types— Types de blocs (prix, largeurs min/max)GET /api/finishes— Finitions avec format de panneau (dimensions, prix)GET /api/service-options— Options (mesure, montage)GET /api/settings— Paramètres globaux (forfait kit, plinthe, etc.)POST /api/price— Calcul du prix (body : configuration) →{ totalChf, details?, errors? }POST /api/orders— Enregistrement commande / lead (config + coordonnées)
Aperçu 3D (V2)
La zone d'aperçu du configurateur est prévue pour intégrer une iframe Spline. Paramètres à transmettre à la scène 3D : largeur, hauteur, profondeur, nombre de blocs, largeur par bloc, type de portes, nombre de vantaux coulissants, hauteur de plinthe, finition. Voir le brief freelance 3D pour les détails.
Build sur Windows
En cas d’erreur spawn EPERM ou de build qui bloque (par ex. après désinstallation d’outils de dev Windows), voir docs/WINDOWS.md : réinstallation du Visual C++ Redistributable et des dépendances client suffit souvent.
Licence
MIT — voir LICENSE.