Teknisk oversikt
AI Boligassistent er et full-stack TypeScript-system som kjører i Docker Compose lokalt, med mulighet for skymigrering uten kodeendringer. Systemet er bygget for to private brukere, men arkitekturert for å skalere.
Systemdiagram
Section titled “Systemdiagram”Teknisk stack
Section titled “Teknisk stack”| Komponent | Teknologi | Begrunnelse |
|---|---|---|
| Monorepo | Turborepo + pnpm | Felles typer, parallell bygging, caching |
| Frontend | React 18 + Vite | Moden plattform, rask utvikling |
| UI-bibliotek | shadcn/ui + Tailwind CSS | Tilpassbare komponenter uten lock-in |
| Backend | Express.js v5 | Full kontroll, ingen magi |
| Database | PostgreSQL 16 | pgvector-støtte, best-of-breed OSS |
| ORM | Drizzle ORM | Typesikker, full SQL-kontroll |
| Vektorsøk | pgvector | Semantisk søk i eksisterende DB |
| Auth | Auth.js v5 | Self-hosted, JWT i httpOnly-cookie |
| Fillagring | MinIO | S3-kompatibel, Docker-lokal |
| AI (chat) | Claude API (Sonnet 4.6) | Lange kontekstvinduer, norsk forståelse |
| AI (bilder) | DALL-E 3 | Post-MVP: romvisualisering |
| Websøk | Brave Search API | Post-MVP: produktsøk |
| Deployment | Docker Compose | Lokalt, null skyavhengighet i MVP |
Monorepo-struktur
Section titled “Monorepo-struktur”boligassistent/├── apps/│ ├── api/ — Express.js backend│ └── web/ — React + Vite frontend└── packages/ ├── types/ — Delte TypeScript-typer ├── auth/ — Auth.js-konfigurasjon └── db/ — Drizzle-skjema og migrationsVidere lesing
Section titled “Videre lesing”- Arkitektur og stack — full begrunnelse per komponent
- Datamodell — ER-diagram og lagstruktur
- Viktige beslutninger — de 7 viktigste ADR-ene