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
### Musskriterien
* Es besteht ein Authentifizierung um den Zugriff auf alle Funktionen auf die jeweils berechtigten Personen zu beschränken.
* 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
* einen Raum
* ein oder zwei Zeitpunkte
* ein oder zwei Zeitpunkte
* und eine Laufzeit
* 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
* Sonstiges
* Deutsch ist Verkehrssprache
* Deutsch ist Verkehrssprache
* Alle Funktionen sind über das Internet erreichbar
* 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*
* Das *PIP*
* soll keine Abrechnung erstellen oder verschicken.
* 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.
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.
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
* Betriebsdauer: täglich, 24 Stunden
* Die Anwendung und ihre Teile werden auf einem virtuellen privaten Server bei einem externen Anbieter bereitgestellt
* Die Anwendung und ihre Teile werden auf einem virtuellen privaten Server bei einem externen Anbieter bereitgestellt
* Die Anwendung ist global über das Internet erreichbar
* Die Anwendung ist global über das Internet erreichbar
* Der Betrieb wird vom Auftragnehmer überwacht
* Der Betrieb wird vom Auftragnehmer überwacht
### Produktumgebung
## zroduktumgebung
#### Software
### Software
* Client
* Client
* Chrome oder Chromium basierter Browser der Version 74
* Chrome oder Chromium basierter Browser der Version 74
* Server
* Server
* Docker unter Linux (Version 18.09.5)
* Docker unter Linux (Version 18.09.5)
#### Hardware
### Hardware
* Client
* Client
* Internetfähiges Endgerät
* Internetfähiges Endgerät
* Server
* Server
* Internetfähiger Server
* Internetfähiger Server
* Ausreichende Rechen- und Festplattenkapazität
* Ausreichende Rechen- und Festplattenkapazität
### Produktfunktionen
## Produktfunktionen
#### Dozentenfunktionen
### **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.
#### Wochenübersicht **/FD01/**
#### Wochenübersicht **/FD01/**
* Der Nutzer sieht eine Übersicht mit von Ihm gegebenen Kursen in den kommenden 7 Tagen, gruppiert nach Wochentag
* 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
* 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 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.
* Er sieht die Einträge zu den den Unterrichtsinhalten der vergangen Unterrichtseinheiten und kann den Inhalt des letzten Termins bearbeiten / erfassen.
#### Verwaltungsfunktionen
### **Verwaltungsfunktionen**
##### Login **/F01/**
#### Offene Anträge **/FV01/**
* 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/**
* Es werden eingegange Anträge und nicht bestätigte Verträge angzeigt.
* 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
* 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.
* 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
* 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 Dozenten angezeigt, welche zu den Instrumentenanforderungen passen
* Es werden Räume 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 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.
* 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
#### Kursübersicht **/FV03/**
1. Mitglied zu Gruppenkurs hinzufügen
* In der Kursübersicht werden in Tabellenform alle Kurse zusammen mit ihren Dozenten angezeigt.
2. Kursübersicht
* Die Tabelle kann spaltenweise sortiert und nach Dozenten- und Kursname gefiltert werden.
3. Schülerübersicht
* Ein Klick auf einen Kurs führt zu [Kursdetails](#kursdetails-f02).
4. Schüler eines Lehrers
* Ein Klick auf einen Dozenten führt zu [Schüler eines Dozenten](#sch%C3%BCler-eines-dozenten-fv05)
5. Raumübersicht m. Raumplan
6. Offene Anträge
#### Schülerübersicht **/FV04/**
7. Finanzübersichrt
* 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