81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
|
|
# Erste Schritte
|
||
|
|
|
||
|
|
Letzte Aktualisierung: 2026-02-21
|
||
|
|
|
||
|
|
## Ziel
|
||
|
|
|
||
|
|
Diese Seite bringt neue Entwickler in unter 45 Minuten zu einem lauffähigen lokalen Setup inklusive erstem Smoke-Test.
|
||
|
|
|
||
|
|
## Voraussetzungen
|
||
|
|
|
||
|
|
- Docker + Docker Compose
|
||
|
|
- Git
|
||
|
|
- Node.js + npm (für ESLint)
|
||
|
|
- Zugriff auf dieses Repository
|
||
|
|
|
||
|
|
## 1) Projekt lokal starten
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cp .env.example .env
|
||
|
|
docker compose up --build -d
|
||
|
|
```
|
||
|
|
|
||
|
|
> Alle ENV-Variablen sind dokumentiert in /docs/konfiguration.md.
|
||
|
|
> docker compose up startet auch den globalen Scheduler-Runner (Service scheduler) im Hintergrund.
|
||
|
|
|
||
|
|
Danach erreichbar:
|
||
|
|
|
||
|
|
- App: `http://localhost:8080`
|
||
|
|
- phpMyAdmin: `http://localhost:8081`
|
||
|
|
|
||
|
|
## 2) Login mit Seed-User (Fresh-Install)
|
||
|
|
|
||
|
|
Standard-Demo-User (aus `db/init/init.sql`):
|
||
|
|
|
||
|
|
- E-Mail: `demo@user.com`
|
||
|
|
- Passwort: `Demo123`
|
||
|
|
|
||
|
|
Wichtig:
|
||
|
|
|
||
|
|
- Der Seed-User wird nur beim initialen DB-Setup angelegt.
|
||
|
|
- Wenn bereits ein bestehendes Docker-Volume (`db_data`) vorhanden ist, kann der lokale Datenstand abweichen.
|
||
|
|
- Für einen sauberen Fresh-Stand kannst du lokal neu initialisieren (Achtung: löscht lokale DB-Daten):
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker compose down -v
|
||
|
|
docker compose up --build -d
|
||
|
|
```
|
||
|
|
|
||
|
|
## 3) Schneller Funktionscheck
|
||
|
|
|
||
|
|
1. Login funktioniert
|
||
|
|
2. Admin-Navigation ist sichtbar
|
||
|
|
3. `Admin -> Benutzer` lädt
|
||
|
|
4. `Admin -> Einstellungen` lädt
|
||
|
|
5. `Admin -> API docs` lädt (mit entsprechender Permission)
|
||
|
|
|
||
|
|
## 4) API-Schnelltest
|
||
|
|
|
||
|
|
1. In der Admin-UI einen API-Token erstellen (oder vorhandenen nutzen)
|
||
|
|
2. Beispiel-Call:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -H "Authorization: Bearer <TOKEN>" \
|
||
|
|
http://localhost:8080/api/v1/me
|
||
|
|
```
|
||
|
|
|
||
|
|
## 5) Qualitätschecks ausführen
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker compose exec php vendor/bin/phpunit
|
||
|
|
docker compose exec php vendor/bin/phpstan analyse -c phpstan.neon --no-progress
|
||
|
|
npx eslint web/js
|
||
|
|
```
|
||
|
|
|
||
|
|
## 6) Nächste Doku-Schritte
|
||
|
|
|
||
|
|
- Täglicher Workflow: `/docs/lokale-entwicklung.md`
|
||
|
|
- Erster kleiner Change: `/docs/erste-aenderung.md`
|
||
|
|
- Architekturüberblick: `/docs/architektur.md`
|
||
|
|
- Sicherheitsmodell: `/docs/sicherheitsmodell.md`
|