Update 3 Softwareentwurf & Implementierung Prototyp MVP authored by Cem Akdag's avatar Cem Akdag
## Softwarearchitektur
Die übergreifende Softwarearchitektur besteht aus einem React Frontend und einem Python Flask Backend. Die React App besteht aus mehreren Ansichten. In der _Session_ View können eigene, sogenannte ZRoom-Sessions erstellt werden, die wiederum automatisch eine verknüpfte Zoom-Session sowie eine darunterliegende _Reactions_ View für diese Session anlegt (beide eingebettet in eine Browser Ansicht). Die _Reactions_ View besteht aus Buttons, die entsprechende Reaktionen widerspiegeln (vergleichbar mit den Zoom Reaktionen, für die Zoom selber keine APIs zur Verfügung stellt). Über diese Buttons können die Remote-Studenten ihre Reaktionen auslösen und darüber die APIs im Backend zur Manipulation der Leuchten / Lautsprecher in Vorlesungsräumen ansprechen.
Die übergreifende Softwarearchitektur besteht aus einem React Frontend und einem Python Flask Backend. Die React App besteht aus mehreren Ansichten. In der _Session_ View können eigene, sogenannte ZRoom-Sessions erstellt werden, die wiederum automatisch eine verknüpfte Zoom-Session sowie eine darunterliegende _Reactions_ View für diese Session anlegt (beide eingebettet in eine Browser Ansicht). Die _Reactions_ View besteht aus Buttons, die entsprechende Reaktionen widerspiegeln (vergleichbar mit den Zoom Reaktionen, für die Zoom selber keine APIs zur Verfügung stellt). Über diese Buttons können die Remote-Studenten ihre Reaktionen auslösen und darüber die REST APIs im Backend zur Manipulation der Leuchten / Lautsprecher in Vorlesungsräumen ansprechen.
Die Python App bestehend aus einem Flask Web Server stellt die APIs zur Erstellung und Bearbeitung von ZRoom-Sessions und zum Manipulieren der Leuchten / Lautsprecher in den zur ZRoom-Session zugeordneten Vorlesungsräumen zur Verfügung.
Die Python App, bestehend aus einem Flask Web Server, stellt die REST APIs zur Erstellung und Bearbeitung von ZRoom-Sessions und zum Manipulieren der Leuchten / Lautsprecher in den zur ZRoom-Session zugeordneten Vorlesungsräumen zur Verfügung.
Beim Senden einer Reaktion in einer ZRoom-Sesson im _Reactions_ View des Frontends wird die entsprechende Leuchte / Lautsprecher im Vorlesungsraum der zugeordneten ZRoom-Session über das Backend aktiviert.
![image](uploads/bacd6348fb6c508fc286cf9eb94942d4/image.png)
......@@ -10,6 +10,6 @@ Beim Senden einer Reaktion in einer ZRoom-Sesson im _Reactions_ View des Fronten
## MVP Softwareentwurf
Unsere prototypische Implementierung als MVP besteht aus einer React App mit einer vereinfachten Darstellung der _Reactions_ View mit drei Buttons für je eine Reaktion (Daumen hoch, Frage, Problem). Der Flask Web Server stellt die API zum Manipulieren von drei Leuchten gemäß den drei Reaktionen zur Verfügung. Die Anwendungen werden auf einem Raspberry PI gehostet. Die drei Leuchten (Grün, Blau, Rot) sind über die GPIO-Pins mit dem Raspberry Pi verbunden und werden über die Python Flask App gesteuert.
Unsere prototypische Implementierung als MVP besteht aus einer React App mit einer vereinfachten Darstellung der _Reactions_ View mit drei Buttons für je eine Reaktion (Daumen hoch, Frage, Problem). Der Flask Web Server stellt eine REST API zum Manipulieren von drei Leuchten gemäß den drei Reaktionen zur Verfügung. Die Anwendungen werden auf einem Raspberry PI gehostet. Die drei Leuchten (Grün, Blau, Rot) sind über die GPIO-Pins mit dem Raspberry Pi verbunden und werden über die Python Flask App gesteuert.
Das MVP Demo-Video ist unter Kapitel 5 Material im Repository zu finden.