Zum Hauptinhalt springen

Entwicklerdokumentation

Willkommen zur technischen Dokumentation der Hoffnungsträger Sprachbrücke. Diese Sektion richtet sich an Entwickler, die an der Plattform arbeiten oder Integrationen entwickeln.

Architektur Überblick

Die Sprachbrücke besteht aus mehreren miteinander verbundenen Komponenten:

Technologie-Stack

KomponenteTechnologieZweck
BackendLaravel 12 + PHP 8.2+REST API, Business Logic
FrontendNext.js 15 + React 19Client Web Application
DatabasePostgreSQL 16Hauptdatenbank
AdminLaravel Filament v3.3Admin Dashboard
MobileIonic 8 + Capacitor 7Sprachmittler Mobile App
DocsDocusaurus 3Dokumentation

Projektstruktur

sprachbruecke/
├── apps/
│ ├── api/ # Laravel API + Filament Admin
│ ├── web/ # Next.js Frontend
│ ├── mobile-ionic/ # Ionic Mobile App
│ └── docs/ # Docusaurus Dokumentation
├── packages/ # Shared Libraries (falls vorhanden)
├── knowledge/ # Projekt-Dokumentation
└── thoughts/ # Claude Code Notizen

Schnellstart

Voraussetzungen

  • Node.js 22+ mit Yarn
  • PHP 8.2+ mit Composer
  • PostgreSQL 16+
  • Git

Installation

# Repository klonen
git clone <repository-url>
cd hoffnungstraeger-sprachbruecke

# Dependencies installieren (Monorepo)
yarn install

# API Setup
cd apps/api
cp .env.example .env
# .env mit Datenbankverbindung konfigurieren
php artisan key:generate
php artisan migrate
php artisan db:seed

# Zurück zum Root
cd ../..

# Development Server starten
yarn dev

Entwicklungsserver

AppPortBefehl
API (Laravel)8000yarn dev:api
Web (Next.js)3004yarn dev:web
Mobile (Ionic)8100yarn dev:mobile
Docs (Docusaurus)3005yarn dev:docs

Dokumentations-Übersicht

Backend

Frontend

Workflows

Weitere

Konventionen

Git Commits

Conventional Commits Format:

type(scope): description

feat(orders): add cancellation workflow
fix(api): handle missing interpreter gracefully
docs(admin): update resource documentation

Code Style

SpracheStandardTool
PHPPSR-12Laravel Pint
TypeScriptPrettier + ESLint-
SQL--

Dokumentation

  • Sprache: Deutsch (primär), Englisch (API-Referenz)
  • Format: Markdown mit Mermaid-Diagrammen
  • Speicherort: apps/docs/docs/

Testing

Backend (Laravel)

cd apps/api

# Alle Tests
composer test

# Einzelner Test
php artisan test --filter=OrderControllerTest

# Mit Coverage
php artisan test --coverage

Frontend

# Web
cd apps/web
npm run test

# Mobile
cd apps/mobile-ionic
npm run test

Sicherheit & Compliance

DSGVO Compliance

  • Datensparsamkeit: Nur notwendige Daten
  • Recht auf Löschung: Implementiert via User-Deaktivierung
  • Datenportabilität: Export-Funktionen
  • Audit-Logging: Spatie Activity Log

Security Best Practices

  • Authentication: Laravel Sanctum (Token-basiert)
  • Authorization: Spatie Laravel Permission (RBAC)
  • Input Validation: Form Requests
  • SQL Injection: Eloquent ORM
  • XSS Protection: Blade Escaping, CSP Headers

Entwicklungsregeln

Alle Entwickler sollten die CLAUDE.md im Repository-Root lesen, die projekt-spezifische Anweisungen enthält.