Commit 2: REST-API für Geräte und Dienste (Zod-Validierung, Drizzle-Repositories)

This commit is contained in:
2026-07-19 01:53:43 +02:00
parent 3a7f423f60
commit a5b998b421
11 changed files with 418 additions and 5 deletions

View File

@@ -58,17 +58,35 @@ Dieser erste Commit liefert ein lauffähiges Grundgerüst:
- ✅ Tastaturkürzel `/` und `Strg+K` zum Fokussieren der Suche
- ✅ Docker-Compose-Setup: `docker compose up -d --build` startet Frontend + Backend
- ✅ Persistentes Docker-Volume für die SQLite-Datenbank
- ✅ REST-API für Geräte & Dienste (`/api/devices`, `/api/services`), Zod-validiert,
mit Repository-Layer über Drizzle (siehe `apps/backend/src/db/repositories`)
Noch **nicht** enthalten (folgt in den nächsten Commits):
- Scanner (FritzBox, DNS, HTTP/HTTPS, Portscan, Softwareerkennung)
- CRUD-API für Geräte/Dienste/Kategorien
- Fuzzy-Suche im Frontend gegen echte Daten (Ranking-Logik existiert bereits in
`packages/shared`, ist aber noch nicht ans UI angebunden)
- Adminbereich, Plugin-System, PWA-Manifest, TanStack Router/Query, shadcn/ui, Zod, RHF
- Adminbereich, Plugin-System, PWA-Manifest, TanStack Router/Query, shadcn/ui, RHF
Siehe [`docs/ROADMAP.md`](./docs/ROADMAP.md) für die geplante Reihenfolge.
## API-Endpunkte (Stand Commit 2)
```
GET /api/health
GET /api/devices Liste aller Geräte inkl. ihrer Dienste
GET /api/devices/:id
POST /api/devices
PATCH /api/devices/:id
DELETE /api/devices/:id (löscht zugehörige Dienste per Cascade)
GET /api/services optional ?deviceId=&category=&favorite=true
GET /api/services/:id
POST /api/services erfordert existierende deviceId
PATCH /api/services/:id
DELETE /api/services/:id
```
## Deployment auf dem Server (xlc-launchpad)
```bash