Production-ready Architectural CAD SaaS for Africa. Features a synchronized 2D canvas engine, Three.js 3D viewer, server-side AI layout planner (Anthropic), live STOMP collaboration, local compliance checks, and automated BOQ generation. Built with React 18, Zustand, Java 17, Spring Boot 3.x, and PostgreSQL.
# Prodesign Africa — Build Slice 1: Core CAD Editor + Backend Skeleton
This is the first working slice of the full spec in `prodesign_v6_1.md`. It's a real,
runnable full-stack app — not a mockup — scoped to the piece the spec itself calls
the heart of the product: a working 2D CAD editor with 3D extrusion, backed by a
real auth + persistence API.
## What's working right now
**Frontend** (`/frontend`, React + TypeScript + Vite + Tailwind + Three.js)
- Full visual redesign matching the provided mockups: landing page, split-panel
login/signup, dashboard with sidebar + stats + project grid, and editor chrome
(dark topbar, vertical icon toolbar, properties panel, dark status bar) — all
responsive (mobile nav collapses to a menu, dashboard sidebar becomes a
horizontal pill scroller, editor props panel hides below `lg`).
- 2D CAD canvas: draw walls (click-click, chained, angle-snapped to 15°, endpoint
snapping, grid snapping), draw multi-point rooms (click to add points, click near
start to close), place doors/windows (auto-snaps to nearest wall, clamps to stay
within wall bounds), select/delete elements, pan (middle-mouse or Pan tool), zoom
(scroll wheel or toolbar buttons).
- Full undo/redo (Ctrl+Z / Ctrl+Y), keyboard delete, Escape to cancel in-progress draw.
- 3D view: toggles from the same canvas state — extrudes walls to boxes with real
height/thickness, cuts door/window openings out of the wall run, floors rendered
from room polygons, orbit camera, shadows, gizmo.
- Auth pages (login/signup — real API calls), dashboard (list/create projects),
editor page wired to load/autosave snapshots (debounced, 1.5s) against the backend.
- **Compliance panel**: live setback/coverage/height/ROW checks against a real
backend rule engine, refreshed automatically after every autosave. A "Compliance"
button in the editor topbar opens plot-settings (plot width/depth + ruleset picker).
- **AI room planner**: describe a brief (building type, bedrooms, free-text
description) and get …