Update Venue authored by Banu Sarikaya's avatar Banu Sarikaya
...@@ -49,6 +49,7 @@ Um eine strukturierte Entwicklung zu gewährleisten, wird im Projekt der Feature ...@@ -49,6 +49,7 @@ Um eine strukturierte Entwicklung zu gewährleisten, wird im Projekt der Feature
- **venue-bugfixes:** Dieser Branch wurde angelegt, um Bugs zu fixen. - **venue-bugfixes:** Dieser Branch wurde angelegt, um Bugs zu fixen.
- **venue-socket.io:** Hier wurden alle Anpassungen in Bezug auf socket.IO durchgeführt. - **venue-socket.io:** Hier wurden alle Anpassungen in Bezug auf socket.IO durchgeführt.
- **venue-styling:** Auf diesem Branch wurde das Design umgesetzt. - **venue-styling:** Auf diesem Branch wurde das Design umgesetzt.
- **venue-audio:** Hier erfolgte die Implementierung der Audio Funktionalität.
- **venue-chat:** In diesem Branch wurde der Gruppen Chat implementiert. - **venue-chat:** In diesem Branch wurde der Gruppen Chat implementiert.
Durch diese Struktur können neue Funktionen isoliert entwickelt und gleichzeitig die Stabilität des Master-Branches aufrechterhalten werden. Durch diese Struktur können neue Funktionen isoliert entwickelt und gleichzeitig die Stabilität des Master-Branches aufrechterhalten werden.
...@@ -94,13 +95,15 @@ Für Venue wurde ein ansprechendes Dark-Mode Farbschema gewählt, das ein modern ...@@ -94,13 +95,15 @@ Für Venue wurde ein ansprechendes Dark-Mode Farbschema gewählt, das ein modern
|-------------------------|------------|--------------------------------------------------------------------------------------------------| |-------------------------|------------|--------------------------------------------------------------------------------------------------|
| **Hintergrund** | <img src="uploads/78e658a6c3bffa98944f71b030df6339/image.png" width="90" /> | Diese Farbe basiert auf der Farbe des Masterstudiengangs Human-centered Computing. Der dunkle Hintergrund bietet einen hohen Kontrast zu anderen UI-Elementen und verbessert dadurch die Lesbarkeit. | | **Hintergrund** | <img src="uploads/78e658a6c3bffa98944f71b030df6339/image.png" width="90" /> | Diese Farbe basiert auf der Farbe des Masterstudiengangs Human-centered Computing. Der dunkle Hintergrund bietet einen hohen Kontrast zu anderen UI-Elementen und verbessert dadurch die Lesbarkeit. |
| **Boxen** | <img src="uploads/d7ffe123facd4f801a83b9937c05deea/image.png" width="90" /> | Die etwas hellere Farbe für Boxen und Container sorgt für eine klare Abgrenzung der verschiedenen Bereiche innerhalb der Benutzeroberfläche. | | **Boxen** | <img src="uploads/d7ffe123facd4f801a83b9937c05deea/image.png" width="90" /> | Die etwas hellere Farbe für Boxen und Container sorgt für eine klare Abgrenzung der verschiedenen Bereiche innerhalb der Benutzeroberfläche. |
| **Buttons** | <img src="uploads/68e512fbb615053aa936d51fc883d666/image.png" width="90" /> | Dieses Gelb symbolisiert die Fakultät Informatik, weshalb für die Buttons diese Farbe genutzt wurde. Diese sind so gestaltet, dass sie interaktive Elemente hervorheben und die Navigation für den Benutzer erleichtern. | | **Buttons** | <img src="uploads/68e512fbb615053aa936d51fc883d666/image.png" width="90" /> | Dieses Gelb symbolisiert die Fakultät Informatik, weshalb für die Buttons diese Farbe genutzt wurde. Diese sind so gestaltet, dass sie interaktive Elemente hervorheben und die Navigation für die Benutzer erleichtern. |
| **Button Hover** | <img src="uploads/88cd111ace2d7484f5bf04b86bea0dea/image.png" width="90" /> | Bei Maus-Hover über Buttons wird eine hellere Gelbfarbe angezeigt, die den interaktiven Zustand visuell hervorhebt und dem Benutzer Rückmeldung gibt. | | **Button Hover** | <img src="uploads/88cd111ace2d7484f5bf04b86bea0dea/image.png" width="90" /> | Bei Maus-Hover über Buttons wird eine hellere Gelbfarbe angezeigt, die den interaktiven Zustand visuell hervorhebt und dem Benutzer Rückmeldung gibt. |
| **Chat** | <img src="uploads/e82b3a953a9eaa9d48a64af935bf5f0e/image.png" width="90" /> | Die im Vergleich zum Hintergrund hellere Farbe für den Chat-Bereich verbessert die Lesbarkeit von Nachrichten und sorgt für eine klare Trennung von anderen Inhalten. | | **Chat** | <img src="uploads/e82b3a953a9eaa9d48a64af935bf5f0e/image.png" width="90" /> | Die im Vergleich zum Hintergrund hellere Farbe für den Chat-Bereich verbessert die Lesbarkeit von Nachrichten und sorgt für eine klare Trennung von anderen Inhalten. |
Mit diesem Farbschema wird eine visuell ansprechende Oberfläche geschaffen, die den Nutzern eine angenehme Interaktion ermöglicht. Mit diesem Farbschema wird eine visuell ansprechende Oberfläche geschaffen, die den Nutzern eine angenehme Interaktion ermöglicht.
### Lightmode ### Light-Modus
Die Möglichkeit in den Light-Modus zu wechseln besteht ebenfalls. Die _theme-provider.tsx_ Datei von shadcn verbindet die CSS Variablen entsprechend und sorgt dafür, dass sie in der gesamten Anwendung einheitlich angewendet werden. Die _mode-toggle.tsx_ Komponente bietet eine einfache Möglichkeit, zwischen verschiedenen Anzeigemodi umzuschalten, indem sie als _<ModeToggle>_ Komponente auf Seiten integriert wird.
Die Farben werden in der index.css Datei festgelegt und können bei Bedarf angepasst werden. Die _background_ Variable steuert die Hintergrundfarben von Komponenten, während foreground für Texte und Icons verwendet wird. Diese CSS-Variablen können in der tailwind.config.js Datei konfiguriert werden und als Klassen über className="" genutzt werden.
### Logo ### Logo
Das neue Logo von Venue ist eine stilisierte Audiowelle, die mit einem Farbverlauf der Hauptfarben aus dem Farbschema gestaltet ist. Der Farbverlauf beginnt auf der linken Seite mit der Farbe der Informatik (#FFCC00), geht in der Mitte in ein Grün über, dass die Hochschule Reutlingen symbolisieren soll und endet auf der rechten Seite mit der Farbe des Studiengangs Human-centered Computing (#13678A). Mit diesem neuen Logo soll die Identität von Venue gestärkt werden. Das neue Logo von Venue ist eine stilisierte Audiowelle, die mit einem Farbverlauf der Hauptfarben aus dem Farbschema gestaltet ist. Der Farbverlauf beginnt auf der linken Seite mit der Farbe der Informatik (#FFCC00), geht in der Mitte in ein Grün über, dass die Hochschule Reutlingen symbolisieren soll und endet auf der rechten Seite mit der Farbe des Studiengangs Human-centered Computing (#13678A). Mit diesem neuen Logo soll die Identität von Venue gestärkt werden.
...@@ -161,76 +164,90 @@ Die Hauptkomponenten von Venue umfassen die wesentlichen Seiten der Anwendung, w ...@@ -161,76 +164,90 @@ Die Hauptkomponenten von Venue umfassen die wesentlichen Seiten der Anwendung, w
**Login** <br> **Login** <br>
Die Login-Seite ist die erste Seite, die neue Nutzer sehen. Sie ermöglicht die Registrierung neuer Nutzer mit dem Namen. Die Login-Seite ist die erste Seite, die neue Nutzer sehen. Sie ermöglicht die Registrierung neuer Nutzer mit dem Namen.
![image](uploads/a09529415343dd31c931e9b2cdec7a49/image.png) ![image](uploads/a3cdd9ebbd884b82510165543ce614cd/image.png)
Über den dafür vorgesehenen Button oben links kann bei Wunsch in den Light-Modus gewechselt werden.
![image](uploads/07686f8c178ea2cdb6290fe1d9f8a955/image.png)
![image](uploads/e9b7f3e2a3f2f597a042d985074cb9dc/image.png)
**Hauptmenü** <br> **Hauptmenü** <br>
Das Hauptmenü dient als zentrale Navigationsseite, dass eine Übersicht über die verfügbaren Räume bietet und Nutzern ermöglicht, mit einem Klick dem gewünschten Raum beizutreten. Das Hauptmenü dient als zentrale Navigationsseite, dass eine Übersicht über die verfügbaren Räume bietet und Nutzern ermöglicht, mit einem Klick dem gewünschten Raum beizutreten.
![image](uploads/22535e465a527df8bfcb1895a561199c/image.png)
![image](uploads/b05738e8c37857300cebf794b5a59c33/image.png) Zusätzlich können Nutzer mit dem Button oben Rechts "Add new room" neue Räume erstellen. Diese können bei Bedarf mit einem Passwort geschützt werden. <br>
![image](uploads/9ea64ff788e6e2ad95a8c3d50185ca1b/image.png)
Zusätzlich können Nutzer mit dem Button oben Rechts "Add new room" neue Räume erstellen. Diese können bei Wunsch mit einem Passwort geschützt werden. ![image](uploads/3402896e0d5d3f69e35e3d2e09b6bfe4/image.png)
![image](uploads/09ced9a7ac6ed475758642574d253069/image.png)
**Settings** <br> **Settings** <br>
Die Einstellungen zum Set-Up und das Nutzerprofil können im Hauptmenü über den Button oben Rechts "Settings" erreicht werden. Hier können Nutzer ihren Namen sowie ihr Profilbild jederzeit ändern. Mit den Buttons rechts neben den Set-Up Select-Boxen, können der Audio-Input, Audio-Output sowie der Video-Input geprüft werden. Die Einstellungen zum Set-Up und das Nutzerprofil können im Hauptmenü über den Button oben Rechts "Settings" erreicht werden. <br>
![image](uploads/e964f8874ff0ae5555b5e290f046e647/image.png)
![image](uploads/202f0599c88984fb3ed77ca079c210eb/image.png) <br>
Hier können Nutzer den Namen, das Profilbild sowie die Audio-/ Mikrofon-/ Video-Einstellungen jederzeit ändern. Mit den Buttons rechts neben den Set-Up Select-Boxen, können der Audio-Input, Audio-Output sowie der Video-Input geprüft werden. Des Weiteren besteht auch hier nochmal die Möglichkeit, in den Light-Modus zu wechseln.
*Loading screen** <br> ![image](uploads/04cbe461bfd126067a5997405f281487/image.png)
Die Lade Seite erscheint während ein Raum betreten wird.
**Meetingraum** <br> **Meetingraum** <br>
Der Meetingraum wurde in 3 Hauptbereiche gegliedert: Der Meetingraum wurde in 3 Hauptbereiche gegliedert. <br>
1. Der Linke Bereich beinhaltet die Teilnehmer Liste, die Switch Funktion zum Moderator, die Uhrzeit und unten die Buttons Settings und Leave Room. ![image](uploads/12810309b4fdf1678f5aa404b262ab6f/image.png)
<br>
2. Der mittlere Bereich beinhaltet den Home-Bereich und die Panels für die User sowie die Moderator-Toolbar. Hier werden zum Beispiel bei einer Präsentation die Folien angezeigt. 1. Der Linke Bereich beinhaltet die Teilnehmer Liste, die Switch Funktion zum Moderator, die Uhrzeit und unten die Buttons Settings und Leave Room. Hier können wieder die Einstellungen angepasst oder der Raum verlassen werden. <br>
![image](uploads/e1d73af3616399852f40eaea869156a4/image.png)
3. Der rechte Bereich ist nochmal unterteilt in 3 Tabs. <br> <br>
3.1 Im linken Tab befindet sich der Gruppenchat. Dieser bietet eine Echtzeit-Kommunikationsmöglichkeit zwischen den Nutzern im selben Raum. <br> 2. Der mittlere Bereich beinhaltet den Home-Bereich und die Panels für die User sowie die Moderator-Toolbar im Moderations-Modus. <br>
3.2 Der mittlere Bereich ist für den File Upload. Hier können Dokumente hochgeladen werden. <br> ![image](uploads/b43ac812683dd8c3ff699cf8f4c03255/image.png)
3.3 Der rechte Bereich soll die Möglichkeit bietet, sich während einem Call/ Meeting/ Vorlesung Notizen zu machen und diese später als .txt Datei zu downloaden oder im Chat mit anderen Teilnehmern zu teilen. Des Weiteren soll hier die Möglichkeit bestehen, auch Dokumente hochzuladen. Hierbei ist wichtig zu erwähnen, dass für den Tab Notizen, die Funktionalität noch nicht implementiert ist. ![image](uploads/1f54a1885695df266b045372114f1d8f/image.png)
<br> Hier sollen bei einer Präsentation zum Beispiel später auch die Folien angezeigt werden. <br>
![image](uploads/8e0ad8d04631c22800abac24befb6b10/image.png)
<img src="uploads/50936ce65724e3fec6b4bb95951ca212/image.png" width="200" /> <br>
3. Der rechte Bereich ist nochmal unterteilt in 3 Tabs.
<img src=" " width="200" />
- Im linken Tab befindet sich der Gruppenchat. Dieser bietet eine Echtzeit-Kommunikationsmöglichkeit zwischen den Nutzern im selben Raum.
- Der mittlere Bereich ist für den File Upload. Hier können Dokumente hochgeladen werden.
- Der rechte Bereich soll die Möglichkeit bietet, sich während einem Call/ Meeting/ Vorlesung Notizen zu machen und diese später als .txt Datei zu downloaden oder im Chat mit anderen Teilnehmern zu teilen. Des Weiteren soll hier die Möglichkeit bestehen, auch Dokumente hochzuladen. Hierbei ist wichtig zu erwähnen, dass für den Tab Notizen, die Funktionalität noch nicht implementiert ist.
![image](uploads/c5c3d434e3e690a9223a033c0a00525a/image.png)
### UI-Komponenten ### UI-Komponenten
Für das Design wurde eine Vielzahl von UI-Komponenten genutzt, um eine ansprechende Benutzeroberfläche zu gewährleisten. Diese Komponenten bieten eine breite Palette an Funktionen, die zur Optimierung der Benutzererfahrung beitragen und diese sind alle mit der Tab-Steuerung bedienbar, wodurch der Grundstein für Barrierefreiheit gelegt wurde. Es sollte jedoch angemerkt werden, dass die Tab-Navigation im Meetingraum noch nicht so gut funktioniert wie auf der Homepage. Nachfolgend werden die genutzten UI-Komponenten vorgestellt: Für das Design wurde eine Vielzahl von UI-Komponenten genutzt, um eine ansprechende Benutzeroberfläche zu gewährleisten. Diese Komponenten bieten eine breite Palette an Funktionen, die zur Optimierung der Benutzererfahrung beitragen und diese sind alle mit der Tab-Steuerung bedienbar, wodurch der Grundstein für Barrierefreiheit gelegt wurde. Es sollte jedoch angemerkt werden, dass die Tab-Navigation im Meetingraum noch nicht so gut funktioniert wie auf der Homepage. Nachfolgend werden die genutzten UI-Komponenten vorgestellt:
**Alert**: Alerts werden verwendet, um wichtige Benachrichtigungen oder Hinweise anzuzeigen. ![image](uploads/ebace506106ecc621feffd765bc2a763/image.png) **Alert**: Alerts werden verwendet, um wichtige Benachrichtigungen oder Hinweise anzuzeigen. <br>
**Avatar**: Avatare werden genutzt, um Benutzerbilder darzustellen.
**Avatar**: Avatare werden genutzt, um Benutzerbilder darzustellen. ![image](uploads/08dc3b858ee6d66fb0a1b893da52be6e/image.png) ![image](uploads/3bd27d335329ead199e519dfa1fcdc78/image.png)
**Button**: Buttons sind ein wesentlicher Bestandteil der Benutzeroberfläche und werden verwendet, um Aktionen auszulösen oder die Navigation zu erleichtern. ![image](uploads/6bf61b028006994836e73a728545b2f9/image.png) ![image](uploads/b4749979929c95863177079c5d1a9d6e/image.png)
**Card**: Cards werden eingesetzt, um Informationen oder Inhalte in einem übersichtlichen und ansprechenden Format darzustellen. ![image](uploads/48866851fa3d681d752552d1c76ef2fd/image.png) **Button**: Buttons sind ein wesentlicher Bestandteil der Benutzeroberfläche und werden verwendet, um Aktionen auszulösen oder die Navigation zu erleichtern.
![image](uploads/67a128c2e2e228a01f5032817f9fc114/image.png)
**Command**: Command-Komponenten werden genutzt, um interaktive Befehle oder Aktionen zu repräsentieren. ![image](uploads/932483c078d744ada2577f405e4b6a9b/image.png) **Card**: Cards werden eingesetzt, um Informationen oder Inhalte in einem übersichtlichen und ansprechenden Format darzustellen.
![image](uploads/057a6a2c15649b2c35ed9d9084cde286/image.png)
**Dialog**: Dialogs werden verwendet, um wichtige Informationen oder Interaktionsmöglichkeiten in einem modalen Fenster darzustellen. ![image](uploads/335e53004bcaf9e58a5d2abc5e916285/image.png) **Command**: Command-Komponenten werden genutzt, um Befehle auszuführen. Hier wird die Command Box für die Suchfunktion verwendet.
![image](uploads/d6419c4e64d1cb4192c0d30bbdd8db62/image.png)
**Input**: Input-Komponenten werden genutzt, um Benutzereingaben entgegenzunehmen. ![image](uploads/283d5cdff546fd82af88ec4e9e78e10c/image.png) **Dialog**: Dialogs werden verwendet, um wichtige Informationen oder Interaktionsmöglichkeiten in einem modalen Fenster darzustellen.
![image](uploads/d037573ab91e63181d8f0b687526d5e6/image.png)
**Label**: Labels werden verwendet, um Beschriftungen für andere UI-Elemente bereitzustellen. ![image](uploads/272a3b114992069f5f4662182476a55b/image.png) **Input**: Input-Komponenten werden genutzt, um Benutzereingaben entgegenzunehmen.
![image](uploads/184afe564ef5d4c07299717ad1615b5b/image.png)
**Menubar**: Menubars werden genutzt, um Navigationsoptionen bereitzustellen. ![image](uploads/68fe8d04be496b3e61c9e401967e5522/image.png) **Label**: Labels werden verwendet, um Beschriftungen für andere UI-Elemente bereitzustellen.
![image](uploads/a631cf74dbaab86a11c4878473ce0033/image.png)
**Resizable**: Die Resizable-Komponente ermöglicht es, bestimmte UI-Elemente in der Größe anzupassen, um die Anpassbarkeit zu verbessern. ![Resizable](link-resizable-bild.png) **Menubar**: Menubars werden genutzt, um Navigationsoptionen bereitzustellen.
![image](uploads/f8ec99c2014d52a0bd9e98df96bd0ffb/image.png)
**Scroll-Area**: Scroll-Area-Komponenten werden eingesetzt, um Inhalte darzustellen, die größer sind als der verfügbare Anzeigebereich. ![image](uploads/081c9695611b1368cd40b2a97e4b6933/image.png) **Resizable**: Die Resizable-Komponente ermöglicht es, bestimmte UI-Elemente in der Größe anzupassen, um die Anpassbarkeit zu verbessern. <br>
**Select**: Select-Komponenten werden verwendet, um Dropdown-Listen bereitzustellen. ![image](uploads/5edecc3a79424113521414ead38f6c98/image.png) **Scroll-Area**: Scroll-Area-Komponenten werden eingesetzt, um Inhalte darzustellen, die größer sind als der verfügbare Anzeigebereich. <br>
**Separator**: Separator-Komponenten werden genutzt, um visuelle Trennlinien zwischen verschiedenen Elementen in der Benutzeroberfläche zu erstellen. ![image](uploads/870adccdfc2d51f4ee4237b0aad56571/image.png) **Separator**: Separator-Komponenten werden genutzt, um visuelle Trennlinien zwischen verschiedenen Elementen in der Benutzeroberfläche zu erstellen.
**Tabs**: Tabs werden eingesetzt, um verschiedene Ansichten/Reiter im Meeting Raum zu organisieren. ![image](uploads/741f3df84969f3578774648cdd372b49/image.png) **Select**: Select-Komponenten werden verwendet, um Dropdown-Listen bereitzustellen.
![image](uploads/fc305deb4ee7a98c1dd53bd50b78d06f/image.png)
**Textarea**: Textarea-Komponenten werden verwendet, um mehrzeilige Texteingaben oder Kommentare entgegenzunehmen. ![Textarea](link-textarea-bild.png) **Tabs**: Tabs werden eingesetzt, um verschiedene Ansichten/Reiter im Meeting Raum zu organisieren.
![image](uploads/b0562256cc42c86cad8996b5926af5d3/image.png)
**Toggle-Group und Toggle**: Toggle-Group- und Toggle-Komponenten werden genutzt, um Umschaltfunktionen bereitzustellen. ![image](uploads/c28794958af8c34cfeb0e217c165319c/image.png) ![image](uploads/87fc57277f726169e3ddd1502a6df9c2/image.png) **Toggle-Group und Toggle**: Toggle-Group- und Toggle-Komponenten werden genutzt, um Umschaltfunktionen bereitzustellen. Wurde genutzt für die Contrall Bar.
![image](uploads/59e64424380ee8f57f5381d45ed2cce4/image.png)
Diese Komponenten wurden mit Blick auf Benutzerfreundlichkeit, Barrierefreiheit und Anpassbarkeit ausgewählt und tragen dazu bei, eine intuitive und effiziente Benutzeroberfläche für Venue zu gestalten. Diese Komponenten wurden mit Blick auf Benutzerfreundlichkeit, Barrierefreiheit und Anpassbarkeit ausgewählt und tragen dazu bei, eine intuitive und effiziente Benutzeroberfläche für Venue zu gestalten.
... ...
......