diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9878aa6..40c13ab 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,6 +24,9 @@ build_frontend:
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "rm -rf /home/$DEPLOY_ENV_USER/serve/*"
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "mkdir -p /home/$DEPLOY_ENV_USER/serve/$CI_COMMIT_REF_NAME"
- rsync --progress -av -e ssh /workdir/build/* $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET:/home/$DEPLOY_ENV_USER/serve/
+ environment:
+ name: deploy
+ url: https://$DEPLOY_ENV_TARGET
build_docker_host:
stage: build
@@ -37,12 +40,15 @@ build_docker_host:
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- - docker build -f Docker/Dockerfile_FE_Host -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve .
+ - docker build -f Docker/Dockerfile_FE_Host.dockerfile -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve .
- docker push registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
- ls -la Docker/config/restart-host.sh
- rsync --progress -av -e ssh Docker/config/restart-host.sh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET:/home/$DEPLOY_ENV_USER/restart-host.sh
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "./restart-host.sh"
- when: manual
+ only:
+ changes:
+ - Docker/Dockerfile_FE_Host.dockerfile
+ - Docker/config/*
build_docker_builder:
stage: build
@@ -52,7 +58,12 @@ build_docker_builder:
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- - docker build -f Docker/Dockerfile_FE_Builder -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build .
+ - docker build -f Docker/Dockerfile_FE_Builder.dockerfile -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build .
- docker push registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build
- when: manual
+ only:
+ changes:
+ - Docker/Dockerfile_FE_Builder.dockerfile
+ - Docker/config/*
+ - Frontend/package.json
+ - Frontend/package-lock.json
diff --git a/Backend/EVABackend/EVABackend/Dockerfile b/Backend/EVABackend/EVABackend/Dockerfile
index 87f7eeb..009b6ae 100644
--- a/Backend/EVABackend/EVABackend/Dockerfile
+++ b/Backend/EVABackend/EVABackend/Dockerfile
@@ -5,7 +5,7 @@ EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:2.1-stretch AS build
WORKDIR /src
-COPY ["EVABackend/EVABackend.csproj", "EVABackend/"]
+COPY ["EVABackend.csproj", "EVABackend/"]
RUN dotnet restore "EVABackend/EVABackend.csproj"
COPY . .
WORKDIR "/src/EVABackend"
@@ -17,4 +17,4 @@ RUN dotnet publish "EVABackend.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
-ENTRYPOINT ["dotnet", "EVABackend.dll"]
\ No newline at end of file
+ENTRYPOINT ["dotnet", "EVABackend.dll"]
diff --git a/Backend/EVABackend/EVABackend/EVABackend.csproj b/Backend/EVABackend/EVABackend/EVABackend.csproj
index 1a8fd53..5187791 100644
--- a/Backend/EVABackend/EVABackend/EVABackend.csproj
+++ b/Backend/EVABackend/EVABackend/EVABackend.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/Frontend/README.md b/Frontend/README.md
index eec0b28..636f993 100644
--- a/Frontend/README.md
+++ b/Frontend/README.md
@@ -3,3 +3,5 @@
# Pakages
- Material UI
+- React Router
+- Sentry
diff --git a/README.md b/README.md
index f568b43..73b9dc2 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# EVA Lernsituation
-
+_Levin Faber, Alexej Komnik, Tobias Schiffarth, Kai Senkowski_
## Teilnehmer
* Levin Faber
diff --git a/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.png b/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.png
new file mode 100644
index 0000000..6d9701a
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.png differ
diff --git a/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.uxf b/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.uxf
new file mode 100644
index 0000000..2ecb4cf
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/EVA ERD Umletino.uxf
@@ -0,0 +1,57 @@
+10UMLClass12560240180Person
+<<abstract>>
+--
+_Id_
+Name, Vorname
+Geburtsdatum, Geburtsort
+PLZ, Ort, Strasse
+Telefon, EMail
+Bankname
+BLZ
+KontoNrUMLClass12529010050Schueler
+-
+IstErmaessigtUMLClass26529010050Dozent
+--
+StundensatzRelation3042303080lt=<<-10;10;10;60Relation1642303080lt=<<-10;10;10;60UMLClass184451120100Kurs
+--
+_Id_
+Name
+Laufzeit
+Kuendigungsfrist
+BestaetigtUMLClass63436110080Raum
+--
+_Nr_
+Name
+BelegtUMLClass46445110090Unterricht
+--
+_Id_
+Name
+Anfangszeit
+Notiz
+Relation25433180140m1=1
+m2=0..n60;10;10;120Relation16433190140m1=0..n
+m2=1..n10;10;60;120Relation29449119040m1=1..n
+m2=1170;10;10;10Relation554431160100m1=1
+m2=1..n130;10;130;70;10;70UMLClass15463018090UnterrichtTyp
+<<enum>>
+--
+Einzel
+Gruppe
+Musikalische FrüherziehungRelation234541110110*UnterrichtTyp*
+m1=110;90;10;10UMLClass464271100120Instrument
+<<enum>>
+--
+Klavier
+Schlagzeug
+Geige
+Gitarre
+BandRelation55432116060m1=1..n
+m2=110;10;130;10;130;40Relation35431113040m1=1..n
+m2=0..n110;10;10;10UMLClass84060110110Antrag
+-
+Laufzeit
+KursIdRelation5421870330m1=1
+m2=170;300;10;300;10;10;840;10;840;40Relation324161590550*UnterrichtTyp*
+m1=110;520;570;520;570;10Relation504131360160*Instrumente*
+m1=1..n10;140;10;20;340;19Relation294351190150*Instrumente*
+m1=1..n170;10;10;130
\ No newline at end of file
diff --git a/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.png b/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.png
new file mode 100644
index 0000000..4e8957c
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.png differ
diff --git a/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.uxf b/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.uxf
new file mode 100644
index 0000000..ea21546
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/EVA Use Case Umletino.uxf
@@ -0,0 +1,24 @@
+10UMLActor1014580110VerwaltungUMLActor1053580110TeilnehmerUMLGeneric1305990660Online-Auftritt der Musikschule
+--
+halign=centerUMLUseCase1604512040Dozenten anlegenUMLUseCase18055517040Aufnahmeantrag stellenUMLActor2040560110DozentUMLUseCase17038517050Stundenplan pro WocheUMLUseCase9404512040RaumplanungUMLUseCase70012512050Kurse anlegenUMLUseCase37044520050Eintragung der UnterrichtsinhalteUMLActor0695100110AdministratorUMLGeneric130665990150Backend-Administration
+--
+halign=centerUMLUseCase95018512040UnterrichtsplanungUMLUseCase26070526040Zugriff und Verwaltung der DatenbankUMLUseCase27076523040Zugriff und Verwaltung des HostingsRelation81055150100lt=.>
+
+
+ <<includes>>10;80;130;10Relation81014516080lt=.>
+
+
+ <<includes>>10;17;140;60UMLUseCase200225290140Dozentenübersicht
+--
+Welche Kurse aktuell
+Welche Kurstypen möglich
+Welche aktuellen Schüler (mit Anzahl)
+Stundenplan pro Woche
+Bezahlung (inkl. Stundensätze)UMLUseCase6204512070Schülerübersicht
+--
+Kurse zu Schüler
+UMLUseCase55019515070Raumübersicht
+--
+Welche Instrumente
+BelegunsplanUMLUseCase3504521040Übersicht monatliche EinnahmenRelation705711014010;120;90;10Relation705730014010;120;280;10Relation706757013010;110;550;10Relation7016715014010;10;130;120Relation701675008010;10;480;60Relation701376506010;40;630;10Relation803971107010;50;90;10Relation804373105010;10;290;30Relation805571204010;20;100;20Relation807072005010;30;180;20Relation807272108010;10;190;60Relation340170440430lt=.>
+<<includes>>10;410;420;410;420;10
\ No newline at end of file
diff --git a/_Dokumente/Ausgearbeitete Dokumente/Endpoints.md b/_Dokumente/Ausgearbeitete Dokumente/Endpoints.md
new file mode 100644
index 0000000..ef9d281
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/Endpoints.md
@@ -0,0 +1,135 @@
+# Endpoints
+
+## Screens
+### Login
+- POST Login
+- Parameter
+ - Username string
+ - Password string
+
+
+### Übersichtsseite (Dozent und Verwaltung)
+- GET screens
+- Liefert alle erlaubten Ansichten für einen User zurück
+
+### Wochenübersicht (Dozent)
+- GET weekly_overview
+- Liefert alle Unterrichtseinheiten für die nächsten 7 Tage
+
+### Kursübericht [besser Kursdetails] (Dozent und Verwaltung)
+- GET course_detail
+ - KursID string
+- GET course_contents
+ - KursID string
+- PUT new_course_content
+- Inhalt der Letzten UE wird gesetzt
+ - KursID string
+ - content string
+
+### Welcher Lehrer Welcher Kurs (Verwaltung)
+- GET course_teacher_match
+- Liefert Array
+ - KursID string
+ - KursName string
+ - DozentID string
+ - DozentName string
+
+### Welche Schüler Welcher Kurs (Verwaltung)
+- GET course_student_match
+- Liefert Array
+ - KursID string
+ - KursName string
+ - DozentID string
+ - DozentName string
+
+### Lehrerübersicht (Verwaltung)
+- GET all_teachers
+- Liefert Array
+ - DozentID string
+ - DozentName string
+
+### Schüler von Lehrer (Dozent und Verwaltung)
+- GET students_of_teacher
+- Parameter DozentID
+- Liefert Array
+ - StundentID string
+ - StudentName string
+
+### Raumübersicht (Verwaltung)
+- GET rooms
+- Liefert Array
+ - RaumID string
+ - RaumName string
+ - Instrumente Array
+ - InstrumentName string
+- GET instruments
+- Liefert Array
+ - InstrumentName string
+- PUT create_rooms
+ - RaumName string
+ - Instrumente Array
+
+
+### Raumdetails (Verwaltung)
+- GET room_free
+- Parameter RaumID
+- Liefert Frei bool
+- GET room_instruments
+- Parameter RaumID
+- Liefert Array
+ - InstrumentName string
+ - Vorhanden bool
+- GET lessons
+- Parameter
+ - RaumID string
+ - Sort // Maybe wenn benötigt
+- Liefert Array
+ - StartZeit DT
+
+
+### Kurs Erstellen [Person + Kurs]
+- nutzt GET instruments
+- GET create_
+- POST get_capable_teachers
+- Parameter
+ - Typ string
+ - Instrumente Array
+- Liefert Array
+ - DozentID string
+ - DozentName string
+- POST get_cross_referenced_rooms
+- Parameter
+ - Typ string
+ - Instrumente Array
+ - InstrumentName string
+ - DozentID string
+- Liefert Array
+ - RaumID string
+ - Zeiten Array
+ - Zeitfenster number
+- POST create_person
+- Parameter
+ - Name string
+ - Vorname string
+ - istErmaesigt bool
+ - Geburtsdatum DT
+ - Geburtsort string
+ - PLZ string
+ - Ort string
+ - StrasseHNR string
+ - Bankname string
+ - BLZ string
+ - KontoNr string
+- POST create_course
+- Parameter
+ // Kursdaten
+ - Typ string
+ - Instrumente Array
+ - Instrument string
+ - DonzentID string
+ - Unterrichtseinheiten Array
+ - Zeit int
+- POST enroll_student
+- Parameter
+ - KursID string
+ - PersonID string
diff --git a/_Dokumente/Ausgearbeitete Dokumente/Fragenkatalog.md b/_Dokumente/Ausgearbeitete Dokumente/Fragenkatalog.md
new file mode 100644
index 0000000..b287ba3
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/Fragenkatalog.md
@@ -0,0 +1,9 @@
+### Fragenkatalog
+
+|Frage|Antwort|
+|-|-|
+|Öffnungszeiten|10:00 - 21:00|
+|Arbeitszeiten von Dozenten (vollzeit, teilzeit)|egal|
+|Wer legt den Donzenten an?|Büro (Verwaltung) oder Admin|
+|Wer legt die Kurse an?|Büro (Verwaltung) oder Admin|
+|Benutzerrollen|Admin, Büro, Dozent, Schüler|
\ No newline at end of file
diff --git a/_Dokumente/Ausgearbeitete Dokumente/MindMap.pdf b/_Dokumente/Ausgearbeitete Dokumente/MindMap.pdf
new file mode 100644
index 0000000..6d01756
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/MindMap.pdf differ
diff --git a/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md b/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md
new file mode 100644
index 0000000..205bf8e
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md
@@ -0,0 +1,208 @@
+# Pflichtenheft
+
+## Inhalt
+1. Zielbestimmung
+ 1. Musskriterien
+ 1. Abgrenzungskriterien
+1. Produkteinsatz
+ 1. Anwendungsbereiche
+ 1. Zielgruppen
+ 1. Betriebsbedingungen
+1. Produktumgebung
+ 1. Software
+ 1. Hardware
+1. Produktfunktionen
+ 1. Dozentenfunktionen
+ 1. Login
+ 2. Wochenübersicht
+ 3. Kursdetails
+ 2. Verwaltungsfunktionen
+ 1. Login
+ 2. Kurse erstellen
+ 3. Mitglied zu Gruppenkurs hinzufügen
+ 4. Kursübersicht
+ 5. Schülerübersicht
+ 6. Schüler eines Lehrers
+ 7. Raumübersicht m. Raumplan
+ 8. Offene Anträge
+ 9. Finanzübersichrt
+
+
+## Zielbestimmung
+
+> 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.
+ * Der Dozent
+ * Kann seine Stunden in der kommenden Woche sehen können.
+ * Kann den Inhalt seiner Kurs für jede Unterrichtseinheit (*UE*) pflegen.
+ * Kann die Schüler eines Kurses sehen.
+ * Die Verwaltung
+ * Kann sehen, welcher Lehrer welchen Kurs leitet.
+ * Kann sehen, welcher Schüler an welchem Kurs teilnimmt.
+ * Kann sehen, welche Schüler von einem gegebenen Lehrer unterrichtet werden.
+ * Kann Räume anlegen.
+ * Kann bearbeiten, welche Instrumente in einem Raum zu verfügung stehen.
+ * Kann die aktuelle Verfügbarkeit und die nächsten Termine eines Raumes sehen.
+ * Kann offene Anträge sehen.
+ * Kann aus eingehenden Anträgen neue Kurs erstellen und UE planen.
+ * Kann in einer Übersicht die Einnahmen der Musikschule und den Betrag, welcher an jeden Dozent gezahlt wird sehen.
+ * Der Administrative Nutzer
+ * Konfiguriert die Betriebsparameter des Systems
+ * Sichert die Datenbank
+ * Ein Kurs hat
+ * einen Dozenten
+ * einen Typ (Einzel-, Bandunterricht, Früherziehung)
+ * 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
+ * Die Anwendung ist für Mobilgeräte optimiert
+
+### Wunschkriterien
+ * Der Administrative Nutzer
+ * Möchte bei der Erstellung eines Kurses durch einen Vorschlag zu passendem Raum, Dozenten und Zeitpunkt unterstützt werden.
+ * Der Schüler
+ * Möchte sich einloggen können um die eigenen Unterrichtszeiten und Inhalte einzusehen
+ * Sonstiges
+ * Daten sollen soweit sinnvoll möglich auf dem Endgerät zwischengespeichert werden, damit auch ohne Internetverbindung Grundlegende funktionalität geleistet werden kann.
+
+### Abgrenzungungskriterien
+ * Das *PIP*
+ * soll keine Abrechnung erstellen oder verschicken.
+
+## Produkteinsatz
+
+### Anwendungsbereiche
+Die Anwendung wird von den Dozenten und der Verwaltung zur Planung und Organisation der Musikschule genutzt.
+
+### 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
+ * 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
+ * Client
+ * Chrome oder Chromium basierter Browser der Version 74
+ * Server
+ * Docker unter Linux (Version 18.09.5)
+
+### Hardware
+ * Client
+ * Internetfähiges Endgerät
+ * Server
+ * Internetfähiger Server
+ * Ausreichende Rechen- und Festplattenkapazität
+
+## Produktfunktionen
+
+### **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
+
+#### Kursdetails **/FD02/**
+ * Der Nutzer sieht Details zu einem Kurs
+ * 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
+
+#### Offene Anträge **/FV01/**
+* Es werden alle neu eingegangenen und nicht bestägtigten Anträge angzeigt.
+* Mit einem Klick auf einen eingegangen Antrag wird die [Kurs erstellen](#kurs-erstellen) Seite aufgerufen.
+
+#### 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.
+
+#### 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
+
+#### 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.
+
+
+
+#### Übersichtsseite Verwaltung
+
+Die Übersichtsseite Verwaltung ist die Startseite der Verwaltung, die die Verwaltung nach der Anmeldung /F01/ erreicht.
+
+
+
+### Bildschirmlayout
+
+Das Frontend wird mithilfe der JavaScript Bibliothek React erstellt, das Design wird mithilfe der MIT-lizensierten Designbibliothek Material-UI realisiert. Die Anwendung ist für Mobilegeräte optimiert und wird nach den Prinzipien des Responsiven Desings entwickelt.
+
+> Ausnahme sind die Administrationsfunktionen
\ No newline at end of file
diff --git a/_Dokumente/Ausgearbeitete Dokumente/Wasserfalldiagramm.md b/_Dokumente/Ausgearbeitete Dokumente/Wasserfalldiagramm.md
new file mode 100644
index 0000000..e602d7b
--- /dev/null
+++ b/_Dokumente/Ausgearbeitete Dokumente/Wasserfalldiagramm.md
@@ -0,0 +1,15 @@
+## Analyse
+1. Ist-Analyse
+2. Soll-Konzept
+ 1. Pflichtenheft
+
+## DV Konzept (Datenverarbeitungskonzept)
+* UML, ERD, Testfallkatalog, Struktogramm
+
+## Implementierung
+* Kommentierter Code
+
+## Testen
+* Vom Testfallkatalog
+
+## Abnahme
\ No newline at end of file
diff --git a/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite.png b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite.png
new file mode 100644
index 0000000..2eb000c
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite.png differ
diff --git a/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Dozent.png b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Dozent.png
new file mode 100644
index 0000000..f199092
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Dozent.png differ
diff --git a/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Verwaltung.png b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Verwaltung.png
new file mode 100644
index 0000000..ccd7d07
Binary files /dev/null and b/_Dokumente/Ausgearbeitete Dokumente/img/Hauptseite_Verwaltung.png differ
diff --git a/_Dokumente/Protokolle/.gitkeep b/_Dokumente/Protokolle/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/_Dokumente/Protokolle/2019-05-15_Protokoll.md b/_Dokumente/Protokolle/2019-05-15_Protokoll.md
index 383ea9e..4291f7e 100644
--- a/_Dokumente/Protokolle/2019-05-15_Protokoll.md
+++ b/_Dokumente/Protokolle/2019-05-15_Protokoll.md
@@ -29,13 +29,16 @@ _Ort: Schule_
* Docker (Version 18.09.6)
* Codeverwaltung Gitlab (Gitlab Cloud)
### Fragenkatalog
-* Öffnungszeiten
-* Arbeitszeiten
-* Donzenten anlegen
+|Frage|Antwort|
+|-|-|
+|Öffnungszeiten||
+|Arbeitszeiten||
+|Donzenten anlegen||
+|Benutzerrollen|Admin, Büro, Schüler|
## Resultierende Aufgaben
|Aufgabe|Verantwortlicher|Erledigt|
|-|-|-|
-|Papierprototyp erstellen und im nächsten Metting weiter besprechen|Kai, Levin||
-|Erstellung ER-Diagram und im nächsten Meeting weiter besprechen|Alexej, Tobias||
-|Erstellung Pflichtenheft und Definition der Endpoints nach Besprechung von Papierprototyp und ER-Diagram|||
\ No newline at end of file
+|Papierprototyp erstellen und im nächsten Metting weiter besprechen|Kai, Levin|X|
+|Erstellung ER-Diagram und im nächsten Meeting weiter besprechen|Alexej, Tobias|X|
+|Erstellung Pflichtenheft und Definition der Endpoints nach Besprechung von Papierprototyp und ER-Diagram|Alle||
\ No newline at end of file
diff --git a/_Dokumente/Protokolle/2019-05-22_Protokoll.md b/_Dokumente/Protokolle/2019-05-22_Protokoll.md
new file mode 100644
index 0000000..4ca6a9d
--- /dev/null
+++ b/_Dokumente/Protokolle/2019-05-22_Protokoll.md
@@ -0,0 +1,19 @@
+# 2019-05-22 Protokoll
+
+_Teilnehmer: Levin Faber, Alexej Komnik, Tobias Schiffarth, Kai Senkowski_
+
+_Ort: Schule_
+
+## Agenda
+* Papierprototyp
+* ER-Diagramm
+* Pflichtenheft
+* Laufzettel
+
+## Ergebnisse
+* Papierprototyp und ER-Diagramm besprochen und angepasst
+* Laufzettel: Abnahme von Kommunikationsplan und Papierprototyp
+
+## Resultierende Aufgaben
+|Aufgabe|Verantwortlicher|Erledigt|
+|-|-|-|
\ No newline at end of file
diff --git a/_Dokumente/Protokolle/2019-05-29_Protokoll.md b/_Dokumente/Protokolle/2019-05-29_Protokoll.md
new file mode 100644
index 0000000..f777511
--- /dev/null
+++ b/_Dokumente/Protokolle/2019-05-29_Protokoll.md
@@ -0,0 +1,21 @@
+# 2019-05-29 Protokoll
+
+_Teilnehmer: Levin Faber, Alexej Komnik, Tobias Schiffarth, Kai Senkowski_
+
+_Ort: Schule_
+
+## Agenda
+* Planung Pflichtenheft
+* Planung Projektsturkturplan inkl. Zeitplan
+* Laufzettel
+ * Abnahme von ERD
+
+## Ergebnisse
+* Laufzettel: Abnahme von ERD, MindMap und Fragenkatalog
+
+## Resultierende Aufgaben
+|Aufgabe|Verantwortlicher|Erledigt|
+|-|-|-|
+|Erstellung Pflichtenheft|Kai, Levin||
+|Erstellung Projektstrukturplan inkl. Zeitplan|Alexej, Tobi|
+|Erstellung div. Diagramme|Alexej, Tobi|
\ No newline at end of file
diff --git a/_Dokumente/Protokolle/2019-06-05_Protokoll.md b/_Dokumente/Protokolle/2019-06-05_Protokoll.md
new file mode 100644
index 0000000..f7d2b18
--- /dev/null
+++ b/_Dokumente/Protokolle/2019-06-05_Protokoll.md
@@ -0,0 +1,24 @@
+# 2019-06-05 Protokoll
+
+_Teilnehmer: Levin Faber, ~~Alexej Komnik~~, Tobias Schiffarth, Kai Senkowski_
+
+_Ort: Schule_
+
+## Agenda
+* Projektstrukturplan und Zeitplan
+* Erstellung Datenbankschema
+* Status Pflichtenheft
+* Nächste TODOs
+ * Vorbereitung Präsentation
+ * Pipelines erstellen
+ * Authentifizierung der Benutzer
+* Laufzettel
+
+## Ergebnisse
+* Pflichtenheft erste Version fast vollständig
+
+## Resultierende Aufgaben
+|Aufgabe|Verantwortlicher|Erledigt|
+|-|-|-|
+|Erstellung Datenbankschema|Tobi||
+|Vorbereitung Präsensation (Basislayout und Inhaltsgliederung)|Kai||
\ No newline at end of file
diff --git a/_Dokumente/Protokolle/Protokoll_Template.md b/_Dokumente/Protokolle/Protokoll_Template.md
index fb37db1..0319690 100644
--- a/_Dokumente/Protokolle/Protokoll_Template.md
+++ b/_Dokumente/Protokolle/Protokoll_Template.md
@@ -11,4 +11,5 @@ _Ort: Schule_
* Punkt 1
## Resultierende Aufgaben
-[-] Punkt 1
\ No newline at end of file
+|Aufgabe|Verantwortlicher|Erledigt|
+|-|-|-|
\ No newline at end of file