Merge branch 'main' into gaisi-patch-1

This commit is contained in:
Konstantin Hintermayer 2025-02-19 14:50:44 +00:00
commit 54b25eb628
2 changed files with 30 additions and 176 deletions

View File

@ -2,22 +2,39 @@
## **Amar:**
zug1, zug2 : Phase 1, wenn es sich ausgeht
Zug6 für Phase 0 fertigstellen : 3h
Das Frontend ermöglicht eine Authentifizierung durch einen Magic-Link, welcher kein Passwort verlangt. ( 28.Februar - 14.März )
zug6 müssen funktionieren: Phase0 : 2h
Zug1, Zug2, Zug3, Zug4 gehört zur Phase 1, falls es sich jedoch ausgeht, in Phase 0 damit beginnt
Das Frontend ermöglicht die Anmeldung durch Benutzername und Passwort, sowie die Zurücksetzung des Passworts. Ebenso eine zentrale Benutzerverwaltung für den Admin und eine Rollenvergabe.
zug3 -zug4 zusammen nachher : Phase 1, wenn es sich ausgeht
## **Adam:**
## **Adam:**
Aus1,Aus2, kann erst machen, wenn Danis angefangen(Datenform ?) : 4h
<br>Aus1,Aus2, kann erst machen, wenn Danis angefangen(Dateinform ?) : 4h<br>
<br>Das Frontend stellt ein Dashboard zur der Eventanmeldungen und anderen Relevanten Daten zu verfügung ( 28.Februar - 14.März )
Aft1, Aft2, Aft3 gleichzeitig mit Danis , Anmeldeformular, Absage, Zusage Formular : 3h
<br>Aft1, Aft2, Aft3 gleichzeitig mit Danis , Anmeldeformular, Absage, Zusage Formular : 3h<br>
<br> Das Frontend ermöglicht die Erstellung, Verwaltung und Einladung zu Events, inklusive Teilnehmerverwaltung und Benachrichtigungen. Nutzer können Einladungen annehmen oder ablehnen. ( 10.März - 30.März )
## **Ismail:**
Sw1 -Sw2 warten bis Adam und Amar fertig 5h
Dsc1 , Dsc2 wenn Adam und Amar fertig sind 5h
Stellt sicher , dass sie für alle Menschen zugänglich ist, auch für Menschen mit Behinderungen durch
Sw3 anschauen Octane 14h
Textalternativen für Bilder (Alt-Texte).
Tastaturbedienbarkeit für alle Funktionen.
Kontrastreicher Text für bessere Lesbarkeit.
Klare Struktur (z.B. durch Überschriften, Listen).
Untertitel oder Transkripte für Videos.
Verwendung von ARIA (Accessible Rich Internet Applications) zur Unterstützung von Screenreadern. : ( 14 .März - 28.März )
Dsc1 , Dsc2 wenn Adam und Amar fertig sind 5h
inwilligung zur Datenerhebung (z.B. durch Cookie-Banner).
Datenschutzerklärung vorhanden und transparent.
Zugriffsrechte auf gespeicherte Daten ermöglichen (z.B. Auskunft, Löschung).
Datenverarbeitungsverträge mit Dritten abschließen, wenn nötig.
Sicherheitsmaßnahmen zum Schutz von Nutzerdaten (z.B. SSL-Verschlüsselung).: ( 10.März - 30.März )
Sw3 anschauen Octane/DNN 14h

View File

@ -153,67 +153,11 @@ Redundanzeigenschaften Bespr. Mit Hr. Prof. Gürth
## Zugriffsverwaltung
| Anforderung | ID |
| --- | --- |
| **Benutzername und Passwort Authentifizierung**: <br> **Im Frontend**: <br> Die Benutzername- und Passwort-Authentifizierung ermöglicht es Nutzern, sich in einer Anwendung zu identifizieren, indem sie ihre Anmeldedaten über ein Formular eingeben. Das Frontend sendet die Daten sicher an das Backend, das die Authentifizierung übernimmt. Bei erfolgreicher Anmeldung erhält der Nutzer Zugriff auf geschützte Bereiche der Anwendung. <br> **Vorraussetzungen**: <br><ol><li>Backend-Anforderungen <ul><li>Mechanismen zur Passwort-Validierung und Token-Generierung (z. B. JWT).</li><li>HTTPS für sichere Datenübertragung.</li></ul></li><li>Frontend-Anforderungen <ul><li>Möglichkeit zur Verarbeitung und sicheren Übertragung der Eingaben.</li><li>Mechanismus zur Speicherung von Authentifizierungsdaten (z. B. Tokens).</li></ul></li></ol> **Diese gelten für alle folgenden Punkte!** <br> **Benötigte Komponenten**: <ol><li>Login-Formular: <ul><li>Eingabefelder für Benutzername und Passwort.</li><li>Submit-Button.</li><li>Fehleranzeige bei ungültigen Eingaben oder falschen Daten.</li></ul></li><li>HTTP-Client: <ul><li>Zum Senden von Authentifizierungsanfragen an das Backend (RestAPI).</li></ul></li><li>Token-Management: <ul><li>Speicherung von JWTs (z. B. im localStorage oder Cookies).</li></ul></li><li>Routing: <ul><li>Weiterleitung zu geschützten Seiten nach erfolgreicher Anmeldung.</li><li>Zugangsbeschränkung zu sensiblen Bereichen der App.</li></ul></li></ol><br> **Technologien**: <ol><li>Framework: <ul><li>C#</li><li>HTML</li></ul></li><li>HTTP-Anfragen: <ul><li>RestAPI</li></ul></li><li>Sicherheitsmaßnahmen: <ul><li>HTTPS</li></ul></li><li>Styling: <ul><li>Eigenes CSS</li></ul></li><li>Token-Handling: <ul><li>JWT</li></ul></li><li>Datenbank: <ul><li>PostgreSQL</li></ul></li></ol> **Diese gelten für alle folgenden Punkte!** | ZUG-1 |
<table><tbody>
<tr><td style="text-align: left"><p><strong><b>Benutzername und Passwort Authentifizierung</b></strong>
</p><p>
<b>Im Frontend</b>
</p><p>
<b>Beschreibung:</b>
</p><p>
Die Benutzername- und Passwort-Authentifizierung ermöglicht es Nutzern, sich in einer Anwendung zu identifizieren, indem sie ihre Anmeldedaten über ein Formular eingeben. Das Frontend sendet die Daten sicher an das Backend, das die Authentifizierung übernimmt. Bei erfolgreicher Anmeldung erhält der Nutzer Zugriff auf geschützte Bereiche der Anwendung.
</p><p>
<b>Voraussetzungen:</b>
</p><p>
1. Backend-Anforderungen:<br>
- Mechanismen zur Passwort-Validierung und Token-Generierung (z. B. JWT).<br>
- HTTPS für sichere Datenübertragung.</p><p>
2. Frontend-Anforderungen:<br>
- Möglichkeit zur Verarbeitung und sicheren Übertragung der Eingaben.<br>
- Mechanismus zur Speicherung von Authentifizierungsdaten (z. B. Tokens).<br>
<br>
Diese gelten für alle folgenden Punkte!
</p><p>
<b>Benötigte Komponenten:</b>
</p><p>
1. Login-Formular:<br>
- Eingabefelder für Benutzername und Passwort.<br>
- Submit-Button.<br>
- Fehleranzeige bei ungültigen Eingaben oder falschen Daten.</p><p>
2. HTTP-Client:<br>
- Zum Senden von Authentifizierungsanfragen an das Backend (RestAPI).</p><p>
3. Token-Management:<br>
- Speicherung von JWTs (z. B. im localStorage oder Cookies).</p><p>
4. Routing: <br>
- Weiterleitung zu geschützten Seiten nach erfolgreicher Anmeldung.
- Zugangsbeschränkung zu sensiblen Bereichen der App.
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
Backend:</p><p>Überprüft die empfangenen Anmeldedaten, in dem er nach vorhandenen Benutzernamen sucht. Anschließend wird das eingegebene Passwort mit den Daten in der Datenbank überprüft.</p></th>
<th><p>ZUG-1</p></th></tr>
<tr><td style="text-align: left"><p><strong><b>Passwort zurücksetzen</b></strong>
</p><p>
<b>Im Frontend</b>
@ -231,22 +175,6 @@ Die Passwort-Zurücksetzen-Funktion im Frontend ermöglicht es Benutzern, über
3. Fehler- und Erfolgsmeldungen zur Benutzerführung.
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
</p>
<p>Backend:</p>
<p>Passwortreset-Funktion: Benutzer können ihre E-Mail-Adresse eingeben, um einen Passwortreset anzufordern.
@ -278,21 +206,6 @@ Die Implementierung von Rollen im Frontend dient der Steuerung von Benutzerzugri
3. UI-Elemente basierend auf Benutzerrolle
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>Rollendefinition:
@ -329,22 +242,6 @@ Die Benutzerverwaltung erlaubt Administratoren, Benutzerkonten zu verwalten, ein
3. Such- und Filterfunktionen für Benutzer
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>Datenbankoperationen:
Alle Änderungen, die über die Weboberfläche im Admin-Bereich vorgenommen werden, müssen über definierte Backend-API-Endpunkte in der Datenbank gespeichert werden.
@ -381,21 +278,6 @@ In Phase 2 wird die Möglichkeit geschaffen, Benutzern eine Einladung zur Regist
3. Bestätigungs- und Fehlermeldungen für den Versand
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>Einladungserstellung:
@ -434,21 +316,7 @@ Die Magic Link Authentifizierung ermöglicht es Benutzern, sich ohne Passwort an
3. Weiterleitung zur Bestätigungsseite nach Klick auf den Magic Link
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>Benutzerregistrierung::
@ -489,22 +357,6 @@ In Phase 2 wird die Zwei-Faktor-Authentifizierung (2FA) implementiert, um die Si
3. Fehler- und Erfolgsmeldungen für die OTP-Verifizierung
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>Anmeldedatenüberprüfung:
Nach der Eingabe der Anmeldedaten (Benutzername und Passwort) muss das System die Anmeldedaten validieren und überprüfen.
@ -544,21 +396,6 @@ In Phase 2 wird die OAuth-Authentifizierung implementiert, die es Benutzern erm
3. Empfang und Verarbeitung des Tokens nach erfolgreicher Anmeldung
</p><p>
<b>Technologien:</b>
</p><p>
1. Framework:<br>
- C#, HTML</p><p>
2. HTTP-Anfragen:<br>
- RestAPI</p><p>
3. Sicherheitsmaßnahmen:<br>
- HTTPS</p><p>
4. Styling:<br>
- Eigenes CSS</p><p>
5. Token-Handling:<br>
- JWT</p><p>
6. Datenbank:<br>
- PostgresSQL
</p><p>
<p>Backend:</p>
<p>OAuth 2.0 Integration:
@ -633,7 +470,7 @@ Mehr Prosa (Unterscheidung Phase 1 & 2)
| Anforderung | ID |
| --- | --- |
| Event erstellen<br><br>Frontend: <br>Das System muss die Erstellung und Verwaltung sicherheitsrelevanter Events im Zusammenhang mit Anmeldungen ermöglichen. Dazu gehören Erinnerungen zur Passwortaktualisierung sowie Warnmeldungen bei mehrfach fehlgeschlagenen Anmeldeversuchen. Diese Funktionen sollen helfen, sicherheitskritische Ereignisse frühzeitig zu erkennen und präventive Maßnahmen zu ergreifen.<br><br>Backend:<br><br> Eingabemaske: Entwicklung einer benutzerfreundlichen Maske zur Erstellung und Bearbeitung von Eventdaten, einschließlich relevanter Felder wie Titel, Datum, Zeit und Beschreibung. Datenbank: Einrichtung einer Datenbank zur sicheren Speicherung aller Eventdaten und ihrer zugehörigen Informationen. Verwaltung von Anmeldungen: Implementierung von Algorithmen zur Erfassung, Verwaltung und Nachverfolgung von Teilnehmeranmeldungen. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer Events erstellen oder bearbeiten können. Automatische Bestätigungen: Einrichtung eines Systems zur automatischen Versendung von Bestätigungen an Teilnehmer nach erfolgreicher Anmeldung.Benutzerfreundlichkeit: Gestaltung der Oberfläche und Funktionen so, dass Benutzer Events effizient und fehlerfrei erstellen und verwalten können. | AfT-1 |
| Event erstellen<br><br>Frontend: <br>Das Frontend ermöglicht Absolventen die Erstellung und Verwaltung von Treffen durch ein Eingabeformular für Event-Details, eine Teilnehmerverwaltung mit Einladungsfunktion sowie eine übersichtliche Event-Liste mit Bearbeitungsoptionen. Benachrichtigungen über Änderungen und ein responsives Design sorgen für eine nutzerfreundliche Bedienung. <br><br>Backend:<br><br> Eingabemaske: Entwicklung einer benutzerfreundlichen Maske zur Erstellung und Bearbeitung von Eventdaten, einschließlich relevanter Felder wie Titel, Datum, Zeit und Beschreibung. Datenbank: Einrichtung einer Datenbank zur sicheren Speicherung aller Eventdaten und ihrer zugehörigen Informationen. Verwaltung von Anmeldungen: Implementierung von Algorithmen zur Erfassung, Verwaltung und Nachverfolgung von Teilnehmeranmeldungen. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer Events erstellen oder bearbeiten können. Automatische Bestätigungen: Einrichtung eines Systems zur automatischen Versendung von Bestätigungen an Teilnehmer nach erfolgreicher Anmeldung.Benutzerfreundlichkeit: Gestaltung der Oberfläche und Funktionen so, dass Benutzer Events effizient und fehlerfrei erstellen und verwalten können. | AfT-1 |
| Einladungen verschicken<br><br>Frontend: <br>Das System ermöglicht die Erstellung und Verwaltung von Events. Administratoren können Events anlegen, Teilnehmer sich anmelden und Benachrichtigungen erhalten. Alle Events und Anmeldungen werden protokolliert.<br><br>Backend:<br><br>Datenabruf: Entwicklung einer Funktion zum Abrufen der relevanten Eventdaten aus der Datenbank. Personalisierung: Erstellung von personalisierten Einladungstexten basierend auf Event- und Teilnehmerdaten. Nachrichtentransport: Integration einer API für den Versand der Einladungen per E-Mail und SMS. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer den Versand von Einladungen initiieren können. Automatisierung: Implementierung eines Systems zur automatischen Verarbeitung und Versendung der Einladungen nach definierten Kriterien. Protokollierung: Speicherung von Versandstatus und Fehlerprotokollen, um die Nachvollziehbarkeit und Fehlersuche zu gewährleisten. Sicherheit: Gewährleistung einer verschlüsselten Übertragung der Daten und Schutz vor unbefugtem Zugriff. | AfT-2 |
| Einladung beantworten (zu/absagen)<br><br>Frontend: <br>Das System muss Nutzern ermöglichen, Einladungen direkt anzunehmen oder abzulehnen. Offene Einladungen sollen zentral verwaltet und der Status jederzeit einsehbar sein. Dies gewährleistet eine sichere und unkomplizierte Verwaltung der Zugangsberechtigungen.<br><br>Backend:<br><br>Datenbankintegration: Speicherung der Teilnahmeantworten (Zusage/Absage) in der Datenbank, verknüpft mit dem jeweiligen Event und Teilnehmer. Rückmeldungsverarbeitung: Entwicklung eines Algorithmus, der eingehende Antworten verarbeitet und den Eventstatus entsprechend aktualisiert (z. B. verfügbare Plätze).Benachrichtigungssystem: Automatische Benachrichtigung des Organisators über eingehende Zu- oder Absagen. <br> Zugriffsrechte: Sicherstellung, dass nur eingeladene und berechtigte Teilnehmer ihre Rückmeldung abgeben können. <br> Benutzerfreundlichkeit: Bereitstellung einer klaren und einfachen Schnittstelle, die Teilnehmern die Abgabe ihrer Rückmeldung ermöglicht. Sicherheit: Verschlüsselte Übertragung der Teilnahmeantworten und Schutz vor unbefugtem Zugriff oder Manipulation. Protokollierung: Erfassung und Speicherung der Antworten, inklusive Zeitstempel, zur Nachverfolgbarkeit und Fehleranalyse. | AfT-3 |
| Kategorisierung (Phase 2)<br><br>Frontend: <br>Das System muss eine Kategorisierung der Anmeldetools für Treffen ermöglichen, um eine intuitive und effiziente Nutzung zu gewährleisten. Nutzer sollen zwischen den Optionen „Neue Veranstaltung erstellen“, „An Treffen teilnehmen“ und „Veranstaltungen verwalten“ wählen können. Zudem soll eine übersichtliche Filterung von Veranstaltungen möglich sein, sodass schnell erkennbar ist, wer das Event erstellt hat.<br><br>Backend:<br><br>Datenbankstruktur: Einrichtung einer Datenbanktabelle zur Definition und Verwaltung von Kategorien sowie zur Verknüpfung dieser Kategorien mit den Events. Automatische Zuordnung: Entwicklung eines Algorithmus, der Events basierend auf vordefinierten Kriterien automatisch der passenden Kategorie zuordnet. Benutzeroberfläche: Bereitstellung einer intuitiven Oberfläche für das Hinzufügen, Bearbeiten und Löschen von Kategorien.Zugriffsrechte: Implementierung eines Berechtigungssystems, das sicherstellt, dass nur autorisierte Benutzer Kategorien verwalten können. Flexibilität: Unterstützung dynamischer Änderungen an Kategorien und deren Kriterien ohne Beeinträchtigung bestehender Zuordnungen. Sicherheit: Verschlüsselte Übertragung und Speicherung der Kategoriedaten sowie Schutz vor unbefugtem Zugriff. Protokollierung: Dokumentation aller Änderungen an den Kategorien zur Nachvollziehbarkeit und Fehleranalyse. | AfT-4 |