2026-02-03 09:18:15 +01:00
2026-02-03 09:18:15 +01:00
2026-02-02 23:57:09 +01:00
2026-02-03 09:18:15 +01:00
2026-02-03 09:18:15 +01:00

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/.
Description
No description provided
Readme 194 KiB
Languages
PHP 57.5%
CSS 18.1%
JavaScript 16.2%
Hack 5.3%
Shell 2.9%