Files
apex/README.md
T
2026-02-13 00:05:49 +01:00

3.4 KiB
Raw Permalink Blame History

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 PostgreSQL
  • client/ — 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 actifs
  • GET /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.