TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Sitzpläne für Klassenräume erstellen, nach Regeln mischen und drucken – als Web-App für PC und iPad, auch ohne Netz.
Live: https://lukasderewaelder.github.io/Sitzplangenerator/
Die ausführliche Anleitung steht in der App (Symbol „?“).
| Gerät | Installieren |
|---|---|
| iPad (Safari) | Teilen-Symbol → „Zum Home-Bildschirm“ |
| PC (Chrome/Edge) | Installieren-Symbol in der Adressleiste, oder Menü → „App installieren“ |
Nach dem ersten Besuch startet die App auch ohne Netz.
Sitzplan_*.json und *.sitzplan.json sind ausgeschlossen). Die Testdaten in tests/fixtures sind erfunden.Voraussetzung: Node.js ab Version 20.
npm install
npm run dev # Entwicklungsserver mit Neuladen
npm run build # baut die App zu index.html, sw.js, manifest und Symbolen im Repo-Stamm
npm test # Unit-Tests (Vitest, jsdom)
npm run test:e2e # Browser-Tests (Playwright; PC- und iPad-Ansichten)
npm run lint
npm run check # alles zusammen
app/
index.html HTML-Gerüst
sw.template.js Vorlage des Service Workers (wird beim Build versioniert)
static/ Manifest und Symbole (werden in den Stamm kopiert)
src/
main.js Verdrahtung und Start
store.js gemeinsamer veränderlicher Zustand (S)
core/ Logik ohne Oberfläche: Datenformat und Migration, Geometrie, Regeln,
Solver, Vorprüfung, Konflikte beheben, Raumvorlagen
io/ Speicher und Verlauf, Sicherung, Verschlüsselung, Listen-Import, Druck, Gerät/Offline
ui/ Oberfläche: Plan, Raum-Editor, Klasse, Hilfe, Dialoge, Menü, Beamer …
styles/ CSS, nach Bereichen getrennt
assets/ Schrift „Sitzplan Gothic“
tests/
unit/ Vitest
e2e/ Playwright (Smoke, Verhaltensvergleich, PWA)
fixtures/ erfundene Beispielklasse und Vergleichsdatei
tools/ serve.mjs (Vorschau), icons.mjs (PNG-Symbole aus SVG)
GitHub Pages liefert den Repo-Stamm von main aus. Der gebaute Stand (index.html, sw.js, manifest.webmanifest, icons/) ist deshalb eingecheckt:
app/ machen, npm run check ausführen.index.html und sw.js – beide mit einchecken.main pushen. Die CI baut erneut und bricht ab, wenn der eingecheckte Stand nicht zum Quelltext passt.Die Versionsnummer steht in package.json und erscheint in der Hilfe der App.
Speicherschlüssel (sitzplan_v2), Datenformat (SCHEMA = 4) und Sicherungsformat (sitzplan-sicherung) sind gegenüber Version 3.3 unverändert. Ältere Sicherungen werden beim Öffnen automatisch umgewandelt; tests/unit/schema.test.js und tests/e2e/golden.spec.mjs sichern das gegen die Ausgangsfassung ab.
Der Service Worker holt die Seite bei vorhandenem Netz immer frisch und legt sie nebenbei ab; ohne Netz startet die zuletzt abgelegte Fassung. Eine veraltete Mischung aus alter Seite und neuen Dateien kann so nicht entstehen.