1. 2022-01-17
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Prof. Stuetz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
Online (Discord) |
von-bis |
Mo. 17.01.2022, 9.20 - 9.45 |
Dauer |
25 Minuten |
2. 2022-01-24
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Jonas |
Birklbauer |
5AHIF |
Nico |
Bojer |
5AHIF |
Tarik |
Hosic |
5AHIF |
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
Online (Discord) |
von-bis |
Mo. 24.01.2022, 18.00 - 18.20 |
Dauer |
20 min. |
3. 2022-01-25
3.1. Ziele des Projektes
-
Aufrechterhaltung des Betriebs von Franklyn 1
-
Dazu zählen die beiden Instanzen:
-
Produktivsystem franklyn.htl-leonding.ac.at
-
Ausfallsystem franklyn2.htl-leonding.ac.at
-
-
-
Neuentwicklung des Franklyn in Quarkus
-
Backend als Quarkus
-
Student-Frontend ev. als Quarkus
-
Teacher-Frontend ev. als Quarkus
-
3.2. Nächste Schritte
-
Kennenlernen der wichtigsten Funktionen des bestehenden Franklyn-Produktivsystem
-
Starten
-
Stoppen
-
Ausführen von Shell-Commands
-
-
Machbarkeitsstudie
-
Screenshoter in einer Quarkus App
-
Image Upload
-
-
Ist-Zustandserhebung des derzeitigen Produktivsystems
-
Besonders wichtig sind die Business-Rules
-
zB Ab welcher Speicherauslastung werden automatisch die ältesten Tests gelöscht?
-
Wie werden die Images gespeichert?(Festplatte oder Files?)
-
Datenmodell
-
-
4. 2022-03-01
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Prof. Stuetz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
Online (Discord) |
von-bis |
Di. 01.03.2022, 14:45 - 16:40 |
Dauer |
55 Minuten |
5. 2022-03-07
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Prof. Stuetz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
HTL Leonding |
von-bis |
Mo. 07.03.2022, 8:45-9:30 |
Dauer |
45 Minuten |
5.1. Besprochene Themen
-
Problem in der Applikation
-
Fragen, die wir der 5. noch stellen müssen
-
Systemarchitektur vom Franklyn
5.2. Problemstellung
@Scheduled hat nicht funktioniert. Applikation hat nur einen Screenshot gemacht und dann nichts mehr.
6. 2022-03-09
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Jonas |
Birklbauer |
5AHIF |
Nico |
Bojer |
5AHIF |
Tarik |
Hosic |
5AHIF |
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
HTL Leonding |
von-bis |
Mo. 09.03.2022, 11.55 - 12.20 |
Dauer |
25 min. |
6.1. Besprochene Themen
-
Instandhaltung von Franklyn 2
-
Über VM lassen uns Datenblatt noch zukommen
-
Gemeinsam am 10.03 mit der 5ahif Zugriff auf die Franklyn VM einrichten
-
Zeigen uns wie wir den Franklyn starten und stoppen können
-
-
-
Datenmodell vom Franklyn 2
-
Ist im Franklyn 2 im Server/server/app/models abgebildet
-
-
Welche Datenbank wurde genutzt, um die Bilder zu speichern
-
MongoDB
-
7. 2022-03-14
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Prof. Stütz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
HTL Leonding |
von-bis |
Di. 21.03.2022, 14.40 - 15.20 |
Dauer |
40 min. |
7.1. Besprochene Themen
-
Datenmodell des Franklyn2
-
Teacher-frontend
-
Lehreranmeldung
-
Schüleranmeldung
-
Speichern der Screenshots → in Filesystem
7.2. Nächste Schritte
-
Teacher-frontend rauswerfen
-
1 Entität reaktiv programmieren
-
Entität testen
-
Testdaten schreiben
-
-
Anmeldung von Lehrern und Schüler herausfinden
8. 2022-03-21
Teilnehmer
anwesend | ||
---|---|---|
Vorname |
Nachname |
Klasse |
Prof. Stütz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
HTL Leonding |
von-bis |
Mo. 21.03.2022, 10.00 - 10.50 |
Dauer |
50 min. |
8.1. Besprochene Themen
-
Nächste Schritte
-
Datenmodell (Entity-Klassen)
-
Was bedeuten (machen) die einzelnen Felder
-
-
Erste Funktionalität reaktiv programmieren und anschließend mit Betreuer besprechen
-
Upload von Bildern
-
Nicht-blockierendes Speichern in DB
-
-
Schnittstellenbeschreibung des Legacy-Systems
-
Beschreibung der filenamen
-
-
9. 2022-03-24
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Jonas |
Birklbauer |
5AHIF |
Nico |
Bojer |
5AHIF |
Tarik |
Hosic |
5AHIF |
Lorenz |
Gahleitner |
5AHIF |
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
Ort und Zeit
Ort |
HTL Leonding |
von-bis |
Do. 24.03.2022, |
Dauer |
9.1. Besprochene Themen
-
Franklyn VM
-
Zugang
-
Starten und Stoppen vom Franklyn
-
-
Filesystem und Datenbank
-
Referenz von der Datenbank auf das Filesystem
-
Struktur des Filesystems
-
Exams → Screenshots → Examinees
-
Screeshot number mit examineeid und examid
-
-
-
-
Testlehrer
-
Daten in Discord
-
-
Schnittstellenbeschreibung
-
Beschreibung der Felder
-
enrolemntnr → wievielte person man ist, die sich anmeldet
-
module → anonyme Klasse, kann man weglassen
-
-
Anmeldung
-
Frontend schickt Anmeldedaten an Server → prüft Anmeldedaten
-
Methode in server → app → controller → services
-
10. 2022-03-29
Anwesend Prof. Stuetz, Prof. Bucek, Tamara Melcher, Michael Tran
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Prof. Bucek |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
10.1. Was wurde besprochen?
-
Form
→SchoolClass
umbenannt -
Assoziative Tabelle
-
Exam
undSchoolClass
-
Examiner
undExam
machen
-
-
Examinee
soll auf dieExam
referenziert werden -
Screenshot
-
Examinee-Referenz hinzufügen
-
screenshotNumber
→runningNo
ändern
-
-
Wie funktioniert der
ImageCompressor
?-
Vorgang
ImageCompressor
Bild komprimieren
-
-
Resolution einmalig in
Exam
initialisiert werden
11. 2022-06-20
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
12. 2022-06-20
13. 2022-06-24
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Tamara |
Melcher |
4AHIF |
Michael |
Tran |
4AHIF |
13.1. Was wurde besprochen?
-
Datenmodell
-
Id hinzufügen
-
ExamineeDetails weg und zu Examinee hinzufügen
-
Examiner und Exam (ManyToMany) → Assoziationstabelle
-
Statt Number Integer
-
Keine Liste speichern → nicht möglich
-
Wird durch WebUntis-Username authentifiziert
-
Beim Erstellen eines Exams werden alle Examiner aus WebUntis geholt
-
-
-
Erstellung der Datenbank
-
Nicht mit postgres-run-in-docker.sh
-
Sondern postgres-create-db.sh und postgres-start-db.sh
-
-
Reaktives Programmieren
-
Objekt von der Datenbank bekommen
-
-
Konfigurationen im .env-file
-
WebUntis credentials
-
Pfad der Screenshots
-
13.2. Fragen
-
Was bedeutet Enumeration Resolution → HD, NATIVE, FHD
-
Wie groß die Auflösung sein soll → Standard: HD
-
-
Welche Rechte hat der Examiner, wenn er Admin ist?
-
Einen Examiner löschen
-
13.3. Vereinbarung
-
Ändern des Datenmodells
-
Anwendung des Datenmodells auf die Entitäten
-
Speichern des neuen Screenshots in die DB
-
Beim Schicken des Screenshots muss die ID des Clients mitgeschickt werden
14. 2023-05-16
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Mona |
Angerer |
4BHITM |
Al Sabagh |
Abdulrahman |
4BHITM |
Peter |
Klose |
4BHITM |
David |
Thaller |
4BHITM |
Notizen
-
Bezeichnung Franklyn: "Ist ein Softwaresystem, welches in periodischen Einsatzzwecken verwendet wird."
14.1. Besprochene Themen
-
ERD jetzt und anschließende Überarbeitung
-
Bilder sollen in Temp file gespeichert werden - umgehen der fehlenden Berechtigung
-
Jeder muss sich anmelden und hat ein Konto
-
Schüler: weiterhin einen Anmeldescreen
-
Lehrer: können Test und Klassen anlegen
-
Super-Admin: kann angemeldete zu Lehrern aufstufen
-
Lehrer, die sich mit unserer Schulmail anmelden sind automatisch Lehrer
-
-
Erweiterung:
-
Anzeige im Dashboard:
-
fehlende Schüler: rot
-
einmal angemeldet: gelb
-
nicht angemeldet: rot
-
eventuelle Erweiterung:
-
Permissions:
-
keycloak: Die Rechte im Webuntis holen
-
keycloak nur für webuntis
-
-
Ergänzung von IP-Adresse:
-
warnings anzeigen bei Änderung
-
15. 2023-05-23
-
Überarbeitung des Datenmodells
-
Versuchen ob 60 mal pro Minute erstellt werden
-
Dokumentation des zukünftigen Codes
16. 2023-06-06
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Prof. Aberger (Online) |
||
Mona |
Angerer |
4BHITM |
Al Sabagh |
Abdulrahman |
4BHITM |
Peter |
Klose |
4BHITM |
David |
Thaller |
4BHITM |
16.1. Besprochene Themen
Es sollen mehrere Bilder gleichzeitig, parallel gespeichert werden können.
Es können 100 mal so viel Clients wie Server erstellt werden.
Es gibt mehrere kleine Webserver.
Der Lehrerclient lädt das Bild von einem Webserver herunter.
Der Server verwaltet die ganzen Tests, Schüler, Rechner, Applikationen, Authentifizureng und Differenzen
Schülerrechner können auf server welcher in demilitarisierte Zone (DMZ) zugreifen, jedoch nicht über das Internet
Problem: die Clients und Lehrer dürfen nicht aufeinander zugreifen.
Die URL wird an unseren Reverse Proxy (nginx) gesendet. Im DMZ können wir beliebig viel Proxys verwenden.
Browser ist im TeacherClient instructorClient
instructorClient ist ein RestClient: <img src="…"> wird an Webserver gesendet.
Streaming Server: holt sich mit Diffs die Daten →ein Ordner für jeden Schüler, …
Aufgabe Client: kann auf Anfrage ein http request machen und schickt divs an Streaming und an Lehrer
Es werden drei Docker-Container verwendet: Streaming, nginx und Repository.
In Zukunft ist geplant, einen Prototyp zu erstellen, der die Konvertierung von PNG-Dateien in JPG und von JPG-Dateien in MP4 ermöglicht
16.1.1. Wir haben drei Arten von Servern:
(Server wird mit Docker Compose betrieben)
-
App Server:
-
Zuständig für die Verwaltung von Tests und die Authentifizierung.
-
-
Streaming Server:
-
Zuständig für die Zusammenführung von Bildern und die Generierung von MP4-Dateien.
-
-
Webserver (aktueller Schülerclient):
-
Zuständig für die Differenzberechnung und Aufnahme von Screenshots.
-
16.1.2. Funktion:
-
Der Lehrerclient holt sich die Bilder von den Schülerwebservern. Dabei handelt es sich nur um reine Screenshots (ohne Alpha- und Betaframes). Diese müssen auch in JPG konvertiert werden.
-
Unser Reverse Proxy repräsentiert die DMZ. Die Schülerwebserver müssen auch die Differenzen alle n Sekunden an den Server senden.
-
Am Ende des Tests oder nach einer bestimmten Zeit werden die Alpha- und Betaframes verwendet, um ein MP4-Video zu generieren. Der Lehrer kann die Videos am nächsten Tag herunterladen.
17. 2024-01-12
Teilnehmer
Vorname | Nachname | Klasse |
---|---|---|
Prof. Stuetz |
||
Mona |
Angerer |
5BHITM |
Al Sabagh |
Abdulrahman |
5BHITM |
Peter |
Klose |
5BHITM |
David |
Thaller |
5BHITM |
17.1. Besprochene Themen
-
Szenario 1: Server lokal
-
Szenario 2: Server deployed
17.1.1. Warum ist der Schüler-Pc ein Server?
Aktuell stellt der Schüler-Pc die Bilder dem Instructor zu Verfügung. → Instructor fragt den Schüler-Pc nach den Bildern ab.
Websockets funktioniert nicht gut. (Wurde mit Prof. Aberger ausprobiert)
17.2. Vereinbarung bis 19.01.
-
Streamingserver implementieren
-
Streaming Server - um Bilder zu speichern
-
Streaming Server - um Bilder mittels Websocket abzurufen (→ Instructor Client)
-
-
Screenshots werden zeitgesteuert zum Streamingserver geschickt.
-
Der Streamingserver setzt die Bilder zusammen und der Instructor kann sich diese holen.
-
Instructor Client kann Bilder anzeigen
-
Zustandsdiagramm (Prozesse)
-
Hinter dem Application Server befindet sich
Keycloak