b88962da6f
Dev Lab bündelt mehrere Disziplinen (SQL, Java/Debugging, Git, HTML, CSS, Regex, PHP, REST) in 11 Spielen mit zusammen 189 Aufgaben. Im Gegensatz zur ersten, rein clientseitigen Skizze jetzt server-autoritativ, DB-gestützt und im Admin pflegbar – mit echter Mechanik-Vielfalt statt überall Lückentext: cloze (Lücke tippen), choice (Multiple Choice), order (Bausteine zusammensetzen), spot (Bug anklicken), match (Paare zuordnen), regex (Muster schreiben mit Live-Treffer-Vorschau). Prüfung und Score ausschließlich serverseitig – die Lösungen verlassen nie das Backend; Eingabe-Platzhalter sind neutrale Labels (Lösungs-Leak behoben). Fehler-Mechanik mit Versuchen + Hinweis + Auflösung, kein Game-Over; Score über die generische game_scores-Tabelle (Kennung devlab, deck=Spiel-Slug). - Entities DevLabGame/DevLabTask (JSON-payload) + Flyway V8__devlab.sql - DevLabService mit sechs Mechanik-Checkern; API /api/devlab/** (CSRF-ausgenommen, devlab in KNOWN_GAMES) - Admin /admin/devlab (Spiele + Aufgaben pflegen); polymorphe Frontend-Engine devlabgame.js + DB-getriebener Hub devlab.js - Inhalte aus devlab/content.json (idempotenter Seeder); ersetzt die erste clientseitige Dev-Lab-Skizze (devlab.js/devlabgame.js/-game.html/-game.css neu) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
669 B
Java
21 lines
669 B
Java
package com.example.mindflux.dto;
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
/** Prüft eine Dev-Lab-Aufgabe. {@code submission} ist mechanikspezifisch (JSON). */
|
|
public class DevLabCheckRequest {
|
|
|
|
private Long taskId;
|
|
private boolean reveal;
|
|
private JsonNode submission;
|
|
|
|
public Long getTaskId() { return taskId; }
|
|
public void setTaskId(Long taskId) { this.taskId = taskId; }
|
|
|
|
public boolean isReveal() { return reveal; }
|
|
public void setReveal(boolean reveal) { this.reveal = reveal; }
|
|
|
|
public JsonNode getSubmission() { return submission; }
|
|
public void setSubmission(JsonNode submission) { this.submission = submission; }
|
|
}
|