- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks - Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists - Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services - Add Microsoft OIDC SSO, API token management, and user lifecycle features - Add swagger-ui vendor integration and OpenAPI spec - Add production Docker setup and bin/ scripts - Update composer dependencies, config, templates, and frontend assets throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Lokale Entwicklung
Letzte Aktualisierung: 2026-02-21
Ziel
Pragmatischer Tages-Workflow für Entwicklung, Tests und Migrationen.
Start/Stop
docker compose up -d
docker compose down
Hinweis: docker compose up -d startet auch den Service scheduler (globaler Minutely-Runner).
Bei größeren Refactors oder merkwürdigem Laufzeitverhalten:
docker compose restart php nginx
Datenbank und Schema-Updates
- Basis-Schema + Seeds:
db/init/init.sql - Das Repo nutzt aktuell ein konsolidiertes Init-Schema (keine separaten Migrationsdateien in
db/init/). - Für Bestandsumgebungen Schema-/Permission-Änderungen als idempotentes SQL-Update bereitstellen und manuell ausführen.
Beispiel (bestehende Umgebung, SQL-Update manuell ausführen):
docker compose exec -T db sh -lc \
'mariadb -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" < /tmp/release-update.sql'
Typischer Implementierungsablauf
- Requirement klären
- Repository anpassen (SQL)
- Service anpassen (Business-Regeln)
- Action/Page anpassen
- i18n-Keys ergänzen (
i18n/default_de.json,i18n/default_en.json) - Doku anpassen (
docs/*)
Pflicht-Checks vor Commit
docker compose exec php vendor/bin/phpunit
docker compose exec php vendor/bin/phpstan analyse -c phpstan.neon --no-progress
npx eslint web/js
Optional gezielt:
docker compose exec php vendor/bin/phpunit tests/I18n/TranslationKeysTest.php
API-spezifisch
- OpenAPI aktualisieren:
docs/openapi.yaml - API-Quickref aktualisieren:
docs/api.md - Bei Security-Änderungen auch
docs/sicherheitsmodell.mdaktualisieren
Bei Unsicherheit
- Architektur zuerst lesen:
/docs/architektur.md - Sicherheitsregeln prüfen:
/docs/sicherheitsmodell.md - Abschluss immer gegen
/docs/entwickler-checkliste.md