Informatik-RPG https://ifrpg.de
  • TypeScript 72.5%
  • HTML 12.8%
  • JavaScript 7.1%
  • CSS 4.1%
  • PLpgSQL 2.6%
  • Other 0.9%
Find a file
Daniel Spittank 80400fd6fa
All checks were successful
IfRPG Platform Release / validate (push) Successful in 4m17s
IfRPG Platform Release / integration (push) Successful in 5m41s
IfRPG Platform Release / docs (push) Successful in 2m1s
IfRPG Platform Release / publish-images (push) Successful in 3m2s
IfRPG Platform Release / deployment-bundle (push) Successful in 1m21s
IfRPG CI / validate (push) Successful in 3m46s
IfRPG CI / integration (push) Successful in 4m58s
IfRPG CI / docs (push) Successful in 1m45s
IfRPG CI / browser-smoke (push) Successful in 5m48s
IfRPG CI / build-dev-images (push) Successful in 2m52s
Activate the Java browser fixture through persisted run actions
2026-11-09 00:54:07 +01:00
.forgejo/workflows Update supported runtime security patches and reuse verified image build layers 2026-11-06 01:20:41 +01:00
apps Fix individual quest availability and production H5P embedding 2026-11-09 00:08:16 +01:00
config Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
deploy Persist world-qualified places and finish production image validation 2026-11-05 23:15:19 +01:00
docker Update supported runtime security patches and reuse verified image build layers 2026-11-06 01:20:41 +01:00
docs Fix individual quest availability and production H5P embedding 2026-11-09 00:08:16 +01:00
external Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
fixtures Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
packages Test the aggregate content limit across individually valid indices 2026-11-05 22:27:15 +01:00
prisma Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
public Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
schemas Regenerate unchanged JSON contracts with patched Zod generator 2026-11-05 22:16:06 +01:00
scripts Persist world-qualified places and finish production image validation 2026-11-05 23:15:19 +01:00
tests Activate the Java browser fixture through persisted run actions 2026-11-09 00:54:07 +01:00
tools/tilesets Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
vendor Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
.dockerignore Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
.env.example Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
.gitignore Persist world-qualified places and finish production image validation 2026-11-05 23:15:19 +01: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
AGENT_TOOLS.md Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
AGENTS.md Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
compose.dev.yaml Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
compose.yaml Persist world-qualified places and finish production image validation 2026-11-05 23:15:19 +01:00
CONTRIBUTING.md Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
eslint.config.js Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
mkdocs.yml Prepare current platform and verified production release pipeline 2026-11-05 20:52:54 +01:00
package-lock.json Update audited release dependencies and preserve authoring references 2026-11-05 22:13:17 +01:00
package.json Update audited release dependencies and preserve authoring references 2026-11-05 22:13:17 +01:00
playwright.config.ts Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
prisma.config.ts Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
README.md Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
requirements-docs.txt Initial IfRPG platform baseline 2026-08-15 13:53:02 +02:00
tsconfig.json Prepare platform release with teaching permissions, SQL tasks and consistent documentation 2026-10-04 11:32:16 +02:00
tsconfig.strict.json Update audited release dependencies and preserve authoring references 2026-11-05 22:13:17 +01:00

IfRPG – Informatik-Rollenspiel

IfRPG ist eine servergestützte Plattform für browserbasierte Informatik- Rollenspiele. Die Plattform liefert Engine, Player, Aufgabenlaufzeiten einschließlich Java, H5P und SQL, 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.

Die Dokumentation beschreibt den zugehörigen Quellstand, nicht automatisch einen bereits veröffentlichten Release. Für installierte Instanzen gilt die Anleitung zum eingesetzten Release.

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, Redis und MySQL für SQL-Aufgaben. API, Vite und Hilfsdienste laufen auf dem Host.

Entwicklungsablauf und aufgabenbezogene Dokumentation stehen in CONTRIBUTING.md, verbindliche Agentenregeln in AGENTS.md und die Werkzeugauswahl in AGENT_TOOLS.md.

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.