Skip to content

KONFeature/tableau-elec

Repository files navigation

⚡ tableau-elec

Electrical installation planner for French residential projects, built around the NF C 15-100 standard.

Describe your project (rooms, surfaces, floors), and the app helps you plan the required outlets, lighting points and dedicated circuits, then lays out the electrical panel (tableau électrique) — with proper modules, breaker ratings and cable sections — and flags anything that falls outside the norm.

Example: a 28 m² living room with only 6 socket outlets is flagged — NF C 15-100 requires at least 7 (one per 4 m², minimum 5).

Client-only. No server, no account. Your data stays in the browser.


Status

🚧 Early POC. Working end-to-end: create projects, add rooms (type, surface, outlets, lighting, equipment + a reusable custom-equipment catalog with mono/tri power sizing), see live NF C 15-100 guidelines and non-conformities per room, and get an auto-generated panel (tableau) — circuits grouped under residual-current devices, breaker/cable sizing, supply feed, modules + reserve, and norm warnings. State persists to localStorage. Grouping is a documented heuristic; divisional panels and module placement are still to come.

How it works (target flow)

  1. Project — name + supply type (mono/triphasé).
  2. Rooms — per floor: type, dimensions, surface.
  3. Requirements — minimum outlets / lighting / dedicated circuits per room, from the norm. Deviations are flagged.
  4. Tableau — auto-laid-out panel(s): a main panel plus divisional panels per floor (e.g. RDC + N+1), with modules, breaker ratings and cable sections.

Architecture

A Bun workspace monorepo. Heavy domain logic lives in framework-agnostic packages, kept separate from the rendering layer — so the same logic can later back a Tauri desktop/mobile build, a CLI, or DXF import/export.

tableau-elec/
├── apps/
│   └── web/            # TanStack Router SPA (Vite + React 19 + Tailwind v4)
└── packages/
    ├── norms/          # NF C 15-100 data + pure rule functions (zero deps)
    └── core/           # Domain model + compliance checks + tableau planning
Package Responsibility
@tableau-elec/norms The standard as data: per-room minimums, circuit specs.
@tableau-elec/core Domain types, room/project evaluation, panel layout.
@tableau-elec/web UI. Depends on core + norms, holds no domain logic.

Packages are consumed as TypeScript source (no per-package build); Vite and Bun compile them directly. They get their own build pipeline only if/when one ships standalone.

Tech stack

  • Bun workspaces · TypeScript (strict)
  • TanStack Router (file-based) · React 19 · Vite
  • Tailwind CSS v4
  • Biome (format + lint)

Getting started

bun install
bun dev            # start the web app (Vite)

Other scripts:

bun run typecheck  # tsc across all workspaces
bun test           # unit tests (bun:test)
bun run check      # Biome lint + format check
bun run check:fix  # Biome autofix

Roadmap

  • Wire the room editor + live norm checks into the UI
  • Persistence (localStorage)
  • Reusable custom-equipment catalog (mono/tri, power-based sizing)
  • Tableau auto-layout — circuit grouping, DDR assignment, breaker/cable sizing, supply, modules
  • Panel topology — main + divisional panels, room→panel assignment, parent feeds
  • DIN-rail layout + head-end (PDL arrival, branch breaker / feed from parent)
  • Triphasé phase balancing — auto L1/L2/L3 (greedy LPT) + per-circuit/per-rail manual override + imbalance %
  • Full NF C 15-100 rule set (from the official extract) — ongoing; extract-nf-c-15-100.md
  • Per-floor organisation + room adjacency → cable-length estimation
  • Import/export (JSON, then DXF)
  • Plan photo → room extraction
  • Tauri desktop / mobile build

Disclaimer

A planning aid, not a substitute for a certified electrician or the official NF C 15-100 text. Encoded rules are a partial, best-effort interpretation. Always have an installation validated by a qualified professional (Consuel).

About

Electrical installation planner for French residential projects (NF C 15-100) — Bun monorepo, TanStack Router SPA

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages