"Ist das ein Bug? Ist das ein Feature? Nein, das ist STExS" ~ Nick, Software Architekt
- Testnutzeraccounts:
passwort | rolle | |
---|---|---|
[email protected] | Test333! | Admin |
[email protected] | Test333! | Lehrer |
[email protected] | Test333! | Student |
-
Nutzer sind unterteilt in 3 Rollen: Student, Lehrer und Admin
-
Beim Registrieren wird dem Nutzer automatisch die Rolle Student zugewiesen
-
Alle Rollen haben Zugriff auf die Profilseite und können Module (die Sie nicht selber verwalten) mit den darin enthaltenen Übungen bearbeiten.
-
Lehrer und Admins können im Gegensatz zu Studenten Module (auch Kapitel und Übungen) erstellen und bearbeiten.
-
Studenten können lediglich Modulen beitreten und Übungen lösen.
-
Admins haben die Möglichkeit die Rollen von Nutzern zu ändern.
- Lerninhalte sind mittels Modulen (modules), Kapiteln (chapters) und Übungen (exercises) strukturiert.
- Module, Kapitel und Übungen haben jeweils einen Titel und eine Beschreibung (welche auch Styling und sogar Bilder unterstützt).
- Übungen sind von einem Typ (Code Output, Parson Puzzle, Cloze Text (Lückentext))
- können von Admins und Lehrern erstellt werden (und bearbeitet werden, sofern Nutzer der Eigentümer des Moduls ist).
- haben zusätzlich eine maximale Teilnehmeranzahl, die der Eigentümer festlegen kann.
- ein Modul enthält beliebig viele Kapitel (können im Modul erstellt werden)
- Wenn ein Student Übungen lösen möchte, muss er / sie in dem jeweilige Modul beigetreten sein.
- das Beitreten muss vom Modul-Eigentümer genehmigt werden.
- ein Modul kann Archiviert sein, dann können Nutzer nicht mehr beitreten.
- sind einem Modul zugeordnet
- können auf der Modul-Bearbeiten-Seite erstellt werden
- beinhalten beliebig viele Übungen von beliebigen Typen (können im Kapitel erstellt werden)
- eine Übung kann einem / mehreren Kapiteln zugeordnet sein
- können auf der Kapitel-Bearbeiten-Seite erstellt werden oder aus bereits existierenden Übungen kopiert werden (siehe Kapitel Bearbeiten Seite)
- jede Übung hat einen Titel, eine Beschreibung und eine maximal erreichbare Punktzahl.
- eine Übung ist von genau einem Typ (muss beim Erstellen festgelegt werden)
- Code Output: Beschreibung für die Frage, Expected Answer für erwartete (korrekte) Antwort
- Parson Puzzle: Beschreibung für die Frage, Codezeilen und deren korrekte Reihenfolge (per Drag & Drop)
- Cloze Text: Beschreibung für die Frage, Lückentext mit korrekten Wörtern (Lücken mittels [[]] gekennzeichnet)
- 2 verschiedene Layouts: Header only (nur bei Startseite, Login und Registration) und Sidebar (sonst überall)
- Layout mit Sidebar
- Header Only Layout
- Admins und Lehrer können alles, was Studenten auch können (aber können nicht ihre eigenen Module lösen)
- siehe Abschnitt Funktionen explizit für Lehrer und Admins für alle Funktionen, die nur für Lehrer und Admins verfügbar sind
- siehe Abschnitt Funktionen explizit für Admins für alle Funktionen, die nur für Admins verfügbar sind
- Startseite betrachten
- Login (mittels E-Mail und Passwort) auf der Login Seite
- Registrieren auf der Registrieren Seite (E-Mail, Passwort, Vorname, Nachname, Matrikelnummer, Nutzername, Geschlecht (optional))
- Email muss bestätigt werden, dafür ist in der appsettings.json ein SMTP Server konfiguriert (standardkonfig versendet die Bestätigungsemails nicht, sondern legt sie in ein Testpostfach ab => Entwicklerhandbuch)
- Profilseite mit sämtlichen Nutzerdaten (hier auch änderbar)
- Sidebar: Übersicht über alle beigetretenen Module (und Admins / Lehrer auch Module, die ihnen gehören)
- Dashboard: Übersicht über beigetretene Module + Liste aller Module
- Modul-Detailseite: Übersicht über ein Modul (Titel, Beschreibung, Kapitel, Teilnehmeranzahl, Eigentümer, Erstellungsdatum)
- Kapitel-Lösen: Liste aller Übungen im Kapitel, Anzeigen der aktuellen Übung mit Lösungsmöglichkeit (je nach Übungstyp)
- mit automatischen Zwischenspeichern und manueller finaler Abgabe
- nach finaler Abgabe wird die erreichte Punktzahl angezeigt (zunächst die automatisch vergebene Punktzahl, nach manuellem Grading auch die manuell vergebene Punktzahl)
- E-Mail verifizieren: Nach der Registrierung sollte der Nutzer eine E-Mail erhalten (ist implementiert, allerdings nicht einfach ohne Mailserver umsetzbar, daher ein Testsmpt Server angebunden, Emails können abgerufen => Entwicklerhandbuch), die ihn auffordert seine E-Mail zu verifizieren.
- Erstellen und Verwalten von Modulen, Kapiteln und Übungen
- Erstellen, Bearbeiten, Archivieren, Löschen von Modulen über die Modul-Seite
-
- Akzeptieren / Ablehnen von Beitrittsanfragen von Studenten über die Modul-Seite
- Einsehen von Daten für ein Modul, manuelle Bewertung von Abgaben über die Data-Dashboard / Grading-Seite (erreichbar über Modul-Seite / Modul-Bearbeiten-Seite)
- Erstellen, Bearbeiten, Löschen neuer Kapitel über die Modul-Bearbeiten-Seite
- Erstellen, Bearbeiten, Löschen und Hinzufügen von bereits existierenden Übungen zu einem Kapitel über die Kapitel-Bearbeiten-Seite
- Einsehen von Abgaben, Bearbeitungszeiten von einer Aufgabe und vergabe von Punkten (Grading-Seite)
- Historie von Abgaben mit Zeitstempel und temporären / finaler Lösung für eine Aufgabe
- Möglichkeit zur Bearbeitung der (automatisch vergebenen) Punktzahl für eine Aufgabe
- Automatisch vergebene Punktzahlen werden für die verschiedenen Übungenstypen unterschiedlich berechnet
- Code Output vergleicht die erwartete Antwort mit der tatsächlichen Antwort (volle Punktzahl oder nicht)
- Parson Puzzle vergleicht die korrekte Reihenfolge und Einrückung mit der tatsächlichen Reihenfolge und Einrückung (allerdings kann eine Verschiebung einer Zeile 0 Punkte zur Folge haben, da alle darauf folgenden Zeilen in der falschen Zeile stehen)
- Cloze Text vergleicht die korrekten Antworten mit den eingegebenen Antworten (pro korrekter Lücke einen Punkt)