53 lines
2.3 KiB
Markdown
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/`.
|