Files
Space-Theme/README.md

53 lines
2.3 KiB
Markdown

# Space Theme (Repository layout)
## Ziel
Alles, was später auf den Webserver gehört, lebt unter `web/`. Die anderen Ordner dokumentieren Planung und Infos, die nicht direkt ausgeliefert werden.
## Struktur
- `web/desktop/`: Desktop-geeigneter Build mit eigenem `public/` (Entry-Point) und `src/partials/`.
- `web/mobile/`: Mobile-Version (aktuell ein Spiegel des Desktop-Builds; anpassbar für responsive Varianten).
- `docs/`: Projektdokumentation; siehe `docs/README.md` für Details zur Anwendung.
- `docs/game_rulebook_v1_2.md`: **SSOT** für Regeln, Generator, Blueprints und Permissions.
- `planning/`: Freifläche für Skizzen, Notizen oder Quelltext, der nicht ins Webroot gehört.
- `server/`: Slim-Backend (PSR-4/7/15/11), API-Endpunkte und Tests.
- `config/`: JSON-Konfigurationen (Planetklassen, Rassen, Gebäude-Blueprints).
## Entwicklung
Schnellstart (Testumgebung, Worktree-Sandbox):
1. `bash scripts/test-env-up.sh`
Manueller Ablauf:
1. `cp .env.example .env`
2. `docker compose up -d`
3. `psql -h 127.0.0.1 -U <DB_USER> -c \"CREATE DATABASE <DB_TEST_NAME>\"` (nur einmalig)
4. `cd server && composer install`
5. `php db/migrate.php`
6. `php db/seed.php`
7. `vendor/bin/phpunit`
8. `php -S localhost:8000 -t web/desktop/public`
9. Öffne `http://localhost:8000/index.php?s=overview&p=dashboard` (für mobile Tests `-t web/mobile/public`).
10. Beim Start wird `/api/state` geladen; die Ressourcen in der Leiste aktualisieren sich automatisch.
## Konfiguration (.env)
Die Datei `.env.example` enthält **Platzhalter** (`change-me`). Diese Werte **müssen** vor einem Produktivbetrieb ersetzt werden.
Auch Default-Credentials im Seed (z.B. User `dev` mit Passwort `change-me`) sind **nur Platzhalter** und müssen vor Prod geändert werden.
Benötigte Variablen:
- `APP_ENV`
- `DEV_MODE`
- `DEV_USER_ID`
- `DB_HOST`
- `DB_PORT`
- `DB_NAME`
- `DB_TEST_NAME`
- `DB_USER`
- `DB_PASS`
## Repo-Hygiene
Vor dem Commit prüfen: **keine Secrets im Diff**.
## Weitere Infos
- Die ausführliche Demo-Beschreibung und Abläufe stehen in `docs/README.md`.
- Trage Planungsnotizen und zusätzliche Quellen in `planning/` ein, damit sie nicht mit in `web/` landen.
- Die Partial-Templates (`main-nav.php`, `planet-switcher.php`, `alert-banner.php`, `footer-links.php`, `ressourcen.php`, `site.php`) liegen jeweils unter `web/desktop/src/partials/` und `web/mobile/src/partials/`.