Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche die Organisation der Musikschule erlaubt. Hierzu werden für Dozenten und Verwaltung verschiedene administrative Funktionen bereitgestellt. Die aktuellen Betriebsprozesse sollen vereinfacht und beschleunigt werden.
> Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche die Organisation der Musikschule erlaubt. Hierzu werden für Dozenten und Verwaltung verschiedene administrative Funktionen bereitgestellt. Die aktuellen Betriebsprozesse sollen vereinfacht und beschleunigt werden.
### Musskriterien
* Es besteht ein Authentifizierung um den Zugriff auf alle Funktionen auf die jeweils berechtigten Personen zu beschränken.
@ -57,6 +57,10 @@ Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche
* einen Raum
* ein oder zwei Zeitpunkte
* und eine Laufzeit
* Der Schüler
* kann einen Aufnahmeantrag über ein Webformular abschicken
* erhält, nachdem die Verwaltung einen Kurs aus dem Antrag erstellt hat, eine Bestätigung (Kursbestätigung) mit den Zeiten Seiner Unterrichtseinheiten
* hat bis zum ersten Unterrichtstermin Zeit, um den Unterricht zu bestätigen
* Sonstiges
* Deutsch ist Verkehrssprache
* Alle Funktionen sind über das Internet erreichbar
@ -74,39 +78,36 @@ Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche
* Das *PIP*
* soll keine Abrechnung erstellen oder verschicken.
### Produkteinsatz
## Produkteinsatz
#### Anwendungsbereiche
### Anwendungsbereiche
Die Anwendung wird von den Dozenten und der Verwaltung zur Planung und Organisation der Musikschule genutzt.
#### Zielgruppe
### Zielgruppe
Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen Dozenten der Musikschule. Eventeuell wird die Zielgruppe um die Schüler der Musikschule erweitert.
#### Betriebsbedingungen
### Betriebsbedingungen
* Betriebsdauer: täglich, 24 Stunden
* Die Anwendung und ihre Teile werden auf einem virtuellen privaten Server bei einem externen Anbieter bereitgestellt
* Die Anwendung ist global über das Internet erreichbar
* Der Betrieb wird vom Auftragnehmer überwacht
### Produktumgebung
#### Software
## zroduktumgebung
### Software
* Client
* Chrome oder Chromium basierter Browser der Version 74
* Server
* Docker unter Linux (Version 18.09.5)
#### Hardware
### Hardware
* Client
* Internetfähiges Endgerät
* Server
* Internetfähiger Server
* Ausreichende Rechen- und Festplattenkapazität
### Produktfunktionen
## Produktfunktionen
#### Dozentenfunktionen
#### Login **/F01/**
* Der Nutzer kann sich mit Benutzername und Passwort anmelden.
* Benutzername und Passwort werden bei der Erstellung des Dozenten von der Verwaltung vergeben.
### **Dozentenfunktionen**
#### Wochenübersicht **/FD01/**
* Der Nutzer sieht eine Übersicht mit von Ihm gegebenen Kursen in den kommenden 7 Tagen, gruppiert nach Wochentag
* Mit einem Klick auf einen Kurs gelangt man zu den entsprechenden Kursdetails
@ -115,26 +116,93 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D
* Er sieht alle Schüler, welche an dem Kurs teilnehmen
* Er sieht die Einträge zu den den Unterrichtsinhalten der vergangen Unterrichtseinheiten und kann den Inhalt des letzten Termins bearbeiten / erfassen.
#### Verwaltungsfunktionen
##### Login **/F01/**
* Der Nutzer kann sich mit Benutzername und Passwort anmelden.
* Benutzername und Passwort können von dem Administrativen Nutzer mithilfe von Direktzugriff auf das System angelegt werden
##### Offene Anträge **/FV01/**
### **Verwaltungsfunktionen**
#### Offene Anträge **/FV01/**
* Es werden eingegange Anträge und nicht bestätigte Verträge angzeigt.
* Mit einem Klick auf einen eingegangen Antrag wird die [Kurs erstellen](#kurs-erstellen) ge
##### Kurs Erstellen **/FV02/**
#### Kurs Erstellen **/FV02/**
* Nach einem eingegegangen Antrag kann basierent auf diesem ein Kurs erstellt werden.
* Typ (Einzel, Gruppe, ), Instrument(e), Laufzeit und Personenbezogne Daten werden in der Kurserstllungs Mask vorausgefüllt
* Es werden Dozenten angezeigt, welche zu den Instrumentenanforderungen passen
* Es werden Räume angezeigt, welche zu den Instrumentenanforderungen passen
* Nach Auswahl von Raum und Dozent wird/werden die Zeit(en) für die Unterrichtseinheiten gewählt werden; Die Möglichkeit der auswahl wird überprüft
* Nach erfolgreicher Auswahl wird der Kurs in der Datenbank angelegt und der Schüler über den Kurs informiert. Dieser muss ihn vor der ersten Unterrichtseinheit bestätigen, ansonster verfällt der Kurs.
##### Mitglied zu Kurs hinzufügen
1. Mitglied zu Gruppenkurs hinzufügen
2. Kursübersicht
3. Schülerübersicht
4. Schüler eines Lehrers
5. Raumübersicht m. Raumplan
6. Offene Anträge
7. Finanzübersichrt
#### Kursübersicht **/FV03/**
* In der Kursübersicht werden in Tabellenform alle Kurse zusammen mit ihren Dozenten angezeigt.
* Die Tabelle kann spaltenweise sortiert und nach Dozenten- und Kursname gefiltert werden.
* Ein Klick auf einen Kurs führt zu [Kursdetails](#kursdetails-f02).
* Ein Klick auf einen Dozenten führt zu [Schüler eines Dozenten](#sch%C3%BCler-eines-dozenten-fv05)
#### Schülerübersicht **/FV04/**
* Es werden in Tabellenform alle Schüler mit Ihren Kursen angezeigt, ein Kurs pro Zeile
* Ein Schüler kann also mehrere Zeilen umfassen
* Die Tabelle kann spaltenweise sortiert und nach Schüler- und Kursname gefiltert werden.
#### Schüler eines Dozenten **/FV05/**
* Es werden alle Schüler des ausgewählten Dozenten angezeigt.
#### Raumübersicht **/FV06/**
* Es werden alle Räume mit Grundlegenden Informationen angezeigt.
* aktuelle Belegung
* Instrumente
* Es wird ein Button zum erstellen von neuen Räumen angzeigt
#### Raumdetails **/FV07/**
* Es werden alle Informationen zu einem Raum Angzeigt.
* Name (bearbeitbar)
* aktuelle Belegung
* Instrumente (bearbeitbar)
* Nächste 5 Unterrichtseinheiten in diesem Raum
#### Offene Anträge **/FV08/**
* Es werden alle neu eingegangenen und nicht bestägtigten Anträge angzeigt.
* Ein Klick auf einen neu eingegangen Antrag führt zu [Kurs erstellen](#kurs-erstellen-fv02)
#### Finanzübersicht **/FV09/**
* Es werden die gesamten monatlichen Einnahmen der Musikschule angzeigt.
* Es werden die Zahlungen an die Dozenten, aufgeschlüsselt nacht Dozent angezeigt.
### **Sonstige Funktionen**
#### Login **/F01/**
* Der Nutzer kann sich mit Benutzername und Passwort anmelden.
* Benutzername und Passwort können von dem Administrativen Nutzer mithilfe von Direktzugriff auf das System angelegt werden
#### Mitglied zu Kurs hinzufügen **/F02/**
* Wenn ein Schüler einen Gruppenkurs erstellt hat, erhält dieser mit seiner Kursbestätigung einen Einladungslink, welcher auf eine "Antrag-Lite" Seite führt.
* Hier können sich weiter Mitglieder der Gruppe/Band in diesen Kurs eintragen.
* Dafür müssen diese nur Ihre Personenbezogenen Daten angeben, Sie werden in der über den Link identifizierten Kurs eingeschrieben.
* Dies muss vor dem ersten Unterrichtstermin geschehen.
## Benutzeroberfläche
> Was sind die grundlegenden Anforderungen an die Benutzeroberfläche (Bildschirmlayout, Dialogstruktur, ...)?
### Dialogstruktur
Im Folgenden wird die grobe Dialogstruktur einer fehlerfreien bzw. konfliktfreien Benutzung des Systems gezeigt wird.
Fehlereingaben haben eine akkumulierte Fehlermeldung zur Folge.
#### Startseite

#### Übersichtsseite Dozenten
Die Übersichtsseite Dozenten ist die Startseite des Dozenten, die der Dozent nach der Anmeldung /F01/ erreicht.
Das Layout wird durch JavaScript-Komponenter der Bibliothek **React** bestimmt, das Design durch Komponenten der Bibliothek **Material-UI** und ist über die gesamte Anwendung konstistent bzw. einheitlich