# Escape Room Requirements
## Rupp-Schablone
### Funktionale Anforderungen
* Das System muss den Usern die Möglichkeit bieten sich in der Plattform zu registrieren und einzuloggen.
* Das System muss den Usern die Möglichkeit bieten, Teams in einer Größe von zwei Personen zu bilden.
* Die Anwendung muss eine grafische Benutzeroberfläche bieten.
* Das System soll die User mittels einer Geschichte durch den Escape Room führen.
* Wenn der User in einem Rätsel nicht weiterkommt, muss das System dem User die Möglichkeit bieten, einen Hinweis anzuzeigen.
* Wenn der User bei einer Moodle-Prüfung alle Fragen richtig beantwortet hat, muss das System dem User den Hinweis zu einem Rätel anzeigen.
* Das System muss den Teams die Möglichkeit bieten, ein Programm in einer vorgegebenen Programmiersprache zu erweitern bzw. zu implementieren.
* Das Programm sollte in der Narrative des Spiels miteinbezogen werden, um die User durch den Escape Room zu führen.
* Das System soll eine Möglichkeit bieten Rätsel, die keine Programmieraufgabe beinhalten (Outside-Rätsel), zur Verfügung zu stellen.
* Das System sollte den Usern nicht die Möglichkeit bieten mehr als zwei Outside-Rätsel hintereinander zu lösen.
* Das System muss Medien wie Bilder, Audios, Texte und Videos für die Rätsel bereitstellen.
* Das System muss fähig sein, mit einem Passwort verschlüsselte Medien, freizugeben.
* Um ein Rätsel zu lösen muss die Plattform überprüfen, ob das vorherige Rätsel gelöst wurde.
* Die Plattform muss überprüfen, ob ein Rätsel erfolgreich gelöst wurde.
* Wenn ein Rätsel gelöst wird, sollte das System ein sofortiges Feedback geben.
* Wenn ein Rätsel gelöst wird, muss das System den Teamfortschritt aktualisieren.
* Das System sollte fähig sein die Anzahl und den Zeitpunkt der jeweiligen Lösung eines Rätsels aufzuzeichnen.
* Das System muss dem User die Möglichkeit bieten die momentane Platzierung jedes einzelnen Teams anzusehen.
### Nicht-funktionale Anforderungen
* Wenn ein Escape-Room gestartet wird, dann soll das System für höchstens 90 Minuten verfügbar sein.
* Wenn das System benutzt wird, muss es in der Lage sein gleichzeitig 200 Studenten zu unterstützen.
* Das System sollte on-site und remote zur Verfügung stehen.
* Die Geschichte des Systems muss so gestaltet sein, dass sie unrealistisch ist und keine möglichen Trigger-Elemente beinhalten.
* Die Aufgabenstellung der einzelnen Rätsel im System muss so gestaltet sein, dass diese verständlich und eindeutig sind.
* Der Escape Room sollte mit dem, durch die Vorlesung erlangten Wissen durchführbar sein.
* Der Escape Room sollte für User mit Vorkenntnissen nicht als zu leicht lösbar eingeschätzt werden.
* Eine Moodle-Prüfung muss aus 3-5 Single- oder Multiple-Choice-Fragen bestehen.
* Die Moodle-Prüfung muss durch Fragen aus dem Kurs Programmieren 1 lösbar sein.
* Das Programm muss durch die Programmiersprache Java erweiterbar bzw. implementierbar sein.
* Das System sollte für das nicht technische Design auf das escapeED Framework basieren.
* Das System muss fähig sein, den Users, den Source Code für die Escape Room Applikation mithilfe eines Git Repository zur Verfügung zu stellen.
## Fragen:
* Kann man auch alleine teilnehmen? oder immer als Pair?
* Bitte ins Github hinzufügen!