Zum Inhalt springen

Mitmachen

Beiträge sind willkommen — von Code über Hardware-Erfahrungen bis Dokumentation. Einstieg: ein Issue auf GitHub schnappen oder beim wöchentlichen Discord-Treffen (dienstags, 19:30 Uhr) vorbeischauen.

VerzeichnisInhalt
locker-backend/Laravel-API + Filament-Admin (Event Sourcing)
mobile-app/React-Native-App (Expo, TypeScript)
locker-client/IoT-Client für den Raspberry Pi
hardware/KiCad-Designs
website/Diese Website inkl. Dokumentation (Astro + Starlight)
docs/Interne Docs und Architecture Decision Records (ADRs)
KomponenteBefehl
Backendcomposer quality (Format + PHPStan + Tests)
Mobile Apppnpm check und pnpm test:ci
Locker Clientpnpm check und pnpm test

Der API-Vertrag ist ein echter Cross-Komponenten-Vertrag:

  1. Das Backend serviert die OpenAPI-Spezifikation live unter /docs/api.json (Scramble, generiert aus den Controllern).
  2. Die Mobile App generiert daraus ihren typisierten RTK-Query-Client: pnpm generate:api (Backend muss laufen).

Wer eine API-Response ändert, muss den Client regenerieren — sonst driften die Typen.

Architektur-relevante Änderungen (API-Vertrag, MQTT-Topics, Modbus, Infrastruktur, Security) brauchen einen ADR unter docs/adr/ — nummeriert, eine Entscheidung pro ADR, akzeptierte ADRs werden nie umgeschrieben, sondern durch neue ersetzt.

Diese Dokumentation lebt im Monorepo unter website/src/content/docs/ — Deutsch unter dokumentation/, Englisch unter en/dokumentation/ (gleiche Dateinamen = gepaarte Seiten). Neue Seiten als Markdown mit Frontmatter (title, description) anlegen und in beiden Sprachen ergänzen. Lokale Vorschau: pnpm dev in website/.