Informatik-RPG https://ifrpg.de
  • TypeScript 85.2%
  • CSS 5.1%
  • JavaScript 4.6%
  • PLpgSQL 4.5%
  • Shell 0.4%
  • Other 0.2%
Find a file
Daniel Spittank 2e88c87229
Some checks failed
IfRPG CI / validate (push) Successful in 2m47s
IfRPG CI / integration (push) Successful in 1m43s
IfRPG CI / docs (push) Successful in 1m0s
IfRPG CI / browser-smoke (push) Successful in 3m22s
IfRPG CI / build-dev-images (push) Failing after 18s
Pre-Release Fixes: Workflows
2026-08-16 08:23:17 +02:00
.forgejo/workflows Pre-Release Fixes: Workflows 2026-08-16 08:23:17 +02:00
apps Pre-Release Fixes: Workflows 2026-08-15 23:54:33 +02:00
config Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
deploy Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
docker Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
docs Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
external Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
fixtures Pre-Release Fixes 2026-08-15 23:16:01 +02:00
packages Pre-Release Fixes 2026-08-15 23:16:01 +02:00
prisma Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
public Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
schemas Pre-Release Fixes 2026-08-15 23:16:01 +02:00
scripts Pre-Release Fixes: Workflows 2026-08-16 08:23:17 +02:00
tests Pre-Release Fixes: Workflows 2026-08-16 08:23:17 +02:00
.dockerignore Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
.env.example Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
.gitignore Pre-Release Fixes 2026-08-15 23:16:01 +02:00
.gitmodules Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
.node-version Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
.nvmrc Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
AGENTS.md Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
compose.dev.yaml Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
compose.yaml Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
eslint.config.js Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
mkdocs.yml Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
package-lock.json Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
package.json Pre-Release Fixes: Workflows 2026-08-16 08:23:17 +02:00
playwright.config.ts Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
prisma.config.ts Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
README.md Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
requirements-docs.txt Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
tsconfig.json Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
tsconfig.strict.json Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00

IfRPG Informatik-Rollenspiel

IfRPG ist eine servergestützte Plattform für browserbasierte Informatik- Rollenspiele. Die Plattform liefert Engine, Player, Java-/H5P-Aufgabenlaufzeit, serverautoritativen Fortschritt, Teaching, Authoring, Administration und eine Registry für unveränderliche Releases.

Ein Plattformrelease enthält ausschließlich:

  • ifrpg/api
  • ifrpg/migrate
  • ifrpg/web
  • das versionierte Deployment-Bundle

GamePacks, AssetPacks und PackSets werden unabhängig von ihren Autoren veröffentlicht. Sie können öffentlich oder token-geschützt über die Registry freigegeben werden. Eine neue Instanz startet absichtlich mit null Packs und null PackSets.

Einstieg

Plattformbestandteile

  • apps/web: React/Vite-Player, Teaching-, Authoring- und Adminoberflächen
  • apps/api: NestJS/Fastify-Modularmonolith
  • packages/core: Contracts, Content-, Rule-, Progress- und PackSet-Domänen
  • PostgreSQL: dauerhafte Identitäts-, Contentmetadaten- und Progressautorität
  • Redis: Sessions und Rate-Limits, keine dauerhafte Progressautorität
  • externe Content-/Authoring-/Git-Work-Pfade: niemals Bestandteil der Images
  • external/java-ide: klar begrenztes Upstream-Submodul für die Java-IDE

Lokale Entwicklung

Der ressourcenschonende Standard nutzt Docker nur für PostgreSQL und Redis; API, Vite und Hilfsdienste laufen auf dem Host.

npm ci --include=dev --ignore-scripts
npm rebuild esbuild --foreground-scripts
npm run dev

Das DB-freie Standardgate:

env -u DATABASE_URL npm run db:generate
env -u DATABASE_URL npm run verify

Integrationstests benötigen eine explizite isolierte DATABASE_URL und REDIS_URL:

npm run verify:integration

Produktionsbundles und Multi-Arch-Images werden in Forgejo CI gebaut. Normale lokale Entwicklung baut keine Produktimages.

Deployment

Das pack-neutrale Bundle unter deploy/ wird mit ifrpgctl betrieben:

cd deploy
./ifrpgctl init --origin https://ifrpg.example.org
./ifrpgctl doctor
./ifrpgctl up
./ifrpgctl bootstrap-admin

Contentpublikation ist kein Deploymentschritt. Details stehen in der Admin-Dokumentation.

Release- und Sicherheitsgrenzen

  • Plattformtags veröffentlichen keine Inhalte.
  • Jede Releaseabhängigkeit bleibt exakt gepinnt und hashgeprüft.
  • Git-/Registry-Credentials erreichen weder Browser noch Export oder Logs.
  • Datenschutz, Impressum und Über-uns-Texte bleiben als InstanceContent UI-/DB-verwaltet.
  • Das Repository startet als unveröffentlichte Plattformbaseline; es gibt noch kein automatisch erzeugtes v1.0.0.