From 6462dade430b045779b63149b031dac00adf2a9c Mon Sep 17 00:00:00 2001
From: Adam Gaiswinkler
Frontend:
Die Profilverwaltung im Frontend für Treffen erlaubt Nutzern, ein individuelles Profil zu erstellen, das ihre Interessen und Präferenzen widerspiegelt. Mit einfachen Eingabefeldern können sie persönliche Informationen und vergangene Veranstaltungen hinzufügen, um passende Treffen zu finden.
Backend:
Für die Profilverwaltung im Backend werden Eingabefelder für persönliche Informationen benötigt, die in einer Datenbank gespeichert werden. Ein Algorithmus validiert die Eingaben und stellt sicher, dass alle erforderlichen Daten korrekt erfasst werden. Zugriffsrechte sichern, dass nur autorisierte Nutzer Profile erstellen können, während eine Schnittstelle das Hinzufügen oder Bearbeiten von Profilen ermöglicht. | Pro-1 |
+| Profil erstellen
Frontend:
Die Profilverwaltung im Frontend für Treffen erlaubt Nutzern, ein individuelles Profil zu erstellen, das ihre Interessen und Präferenzen widerspiegelt. Mit einfachen Eingabefeldern können sie persönliche Informationen und vergangene Veranstaltungen hinzufügen, um passende Treffen zu finden.
Backend:
Für die Profilverwaltung im Backend werden Eingabefelder für persönliche Informationen benötigt, die in einer Datenbank gespeichert werden. Ein Algorithmus validiert die Eingaben und stellt sicher, dass alle erforderlichen Daten korrekt erfasst werden. Zugriffsrechte sichern, dass nur autorisierte Nutzer Profile erstellen können, während eine Schnittstelle das Hinzufügen oder Bearbeiten von Profilen ermöglicht. | Pro-1 |
| --- | --- |
| Profil bearbeiten
Frontend:
Die Profilbearbeitung im Frontend der Profilverwaltung für Treffen ermöglicht es Nutzern, ihre Informationen schnell und unkompliziert zu aktualisieren. Mit intuitiven Eingabefeldern können sie Interessen, persönliche Daten und vergangene Veranstaltungen anpassen, um stets ein aktuelles und relevantes Profil zu präsentieren.
Backend:
Für das Bearbeiten von Profilen im Backend werden Editierfunktionen und eine Datenbank benötigt, die die Änderungen speichert. Ein Algorithmus stellt sicher, dass nur gültige Eingaben übernommen werden. Zugriffsrechte kontrollieren, dass nur autorisierte Nutzer ihre eigenen Profile bearbeiten können. Eine benutzerfreundliche Schnittstelle ermöglicht das einfache Aktualisieren der Profilinformationen. | Pro-2 |
| Profil mit LinkedIn automatisch abgleichen lassen
Frontend:
Die Funktion zum automatischen Abgleich des Profils mit LinkedIn im Frontend der Profilverwaltung für Treffen erleichtert Nutzern die Erstellung und Aktualisierung ihrer Informationen. Durch einen einfachen Klick werden relevante Daten wie berufliche Erfahrungen und Interessen nahtlos übernommen, sodass das Profil stets aktuell und ansprechend bleibt.
Backend:
Für den automatischen Abgleich mit LinkedIn wird eine API benötigt, die Profilinformationen aus LinkedIn abruft und in die Datenbank überträgt. Ein Algorithmus aktualisiert die Profildaten entsprechend. Zugriffsrechte stellen sicher, dass nur autorisierte Nutzer den Abgleich durchführen können. | Pro-3 |
From 831743383ffd945e97c602fcbb3e4b97abd26f31 Mon Sep 17 00:00:00 2001
From: Florian Edlmayer
Zwischen Datenbank und C#
Die Umsetzung einer RESTAPI umfasst die Planung von Endpunkten, Backend-Entwicklung, Datenbankanbindung | SnT-1 |
+| RestAPI (Frontend / Backend)
+|1. Zielsetzung
Die geplante REST API soll in die Oqtane-CMS-Umgebung integriert werden, um eine dynamische Kommunikation zwischen dem CMS und einer Website zu ermöglichen. Sie dient dazu, Inhalte und Funktionen des CMS über die API für die Website verfügbar zu machen und ermöglicht dynamische CRUD-Operationen (Create, Read, Update, Delete) direkt aus dem CMS heraus.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Integration in Oqtane: Erweiterung des Oqtane-CMS mit zusätzlichen Modulen und APIs.
Entwicklung der REST API: Bereitstellung von Endpunkten zur Interaktion zwischen CMS-Daten und Website.
Frontend-Integration: Anbindung der Website an die API, um CMS-Inhalte dynamisch darzustellen.
Sicherheitsimplementierung: Absicherung der API und des Datenflusses zwischen CMS und Website.
3. Sicherheitsanforderungen
Authentifizierung:
Verwendung von Oqtane's integriertem Benutzermanagement und JWT für Authentifizierung.
Sicherstellung, dass Benutzerrollen (z. B. Admin, Editor, User) berücksichtigt werden.
Autorisierung:
Zugriff auf Endpunkte wird basierend auf Benutzerrollen gesteuert.
Sensible Aktionen (z. B. Inhalte löschen) nur für berechtigte Benutzer möglich.
Eingabedatenvalidierung:
Eingaben im Frontend und Backend validieren.
API-Schutz:
Schutz gegen CSRF, XSS, und andere Angriffe.
Nutzung von HTTPS.
4. Nicht-funktionale Anforderungen
Performance: Antwortzeiten der API < 300ms für häufige Anfragen.
Kompatibilität: Vollständig kompatibel mit Oqtane-Modulen und Standard-Datenstrukturen.
Skalierbarkeit: Möglichkeit, neue Module und API-Endpunkte ohne größere Umbauten zu integrieren.
Internationalisierung: Unterstützung mehrsprachiger Inhalte.
5. Technische Umsetzung
5.1. Backend (Oqtane CMS)
Framework: ASP.NET Core, integriert in Oqtane.
Architektur:
Erweiterung des Oqtane-CMS durch Module.
Nutzung der Oqtane-Service-API und Datenzugriff über die vorhandene Architektur.
Erstellung benutzerdefinierter APIs mit .Controllers und Abbildung auf Oqtane-Tabellen.
5.2. Frontend
Technologien:
JavaScript-Frameworks wie React, Angular oder Vue.js.
Integration der REST API über Bibliotheken wie Axios oder die Fetch API.
Darstellung der Inhalte aus Oqtane in dynamischen Komponenten (z. B. Listen, Detailansichten).
API-Integration:
Frontend ruft Inhalte direkt von der REST API ab.
Dynamische Aktualisierung der Inhalte durch Benutzeraktionen (z. B. Formularübermittlung).
5.3. Sicherheit
Authentifizierung:
Authentifizierung über JWT-Token (Login-Endpunkte in Oqtane).
Speicherung von Token im sicheren Speicher (z. B. HttpOnly Cookies).
Eingabeverarbeitung:
Validierung von Daten im Frontend und Backend.
Schutz vor schädlichen Nutzereingaben (z. B. SQL-Injection).
6. Erfolgskriterien
Die Website kann nahtlos mit der Oqtane-REST API interagieren.
Die API erfüllt alle funktionalen Anforderungen und ist in die Oqtane-Datenstruktur integriert.
Sichere und performante Bereitstellung der API.
Modularer Aufbau, der zukünftige Erweiterungen unterstützt.
| SnT-1 |
| --- | --- |
### Schnittstellen zu anderen Systemen
From 2e7a610833b6bf1c945674cdace974647e74efd8 Mon Sep 17 00:00:00 2001
From: Florian Edlmayer
C# (Backend) zum Mailserver
Die Umsetzung von SMTP für den E-Mail-Versand umfasst die Konfiguration eines SMTP-Servers, die Erstellung von E-Mail-Nachrichten im richtigen Format, die Verwendung von SMTP-Befehlen (wie EHLO, MAIL FROM, RCPT TO, DATA), das Senden der E-Mail über den Server. | SnT-2 |
+| SMTP (Email versand)
1. Zielsetzung
Die Implementierung eines SMTP-basierten E-Mail-Versands in der C#-Backend-Anwendung ermöglicht das Versenden von E-Mails über einen konfigurierten
Mailserver. Dies umfasst sowohl systemgenerierte E-Mails (z. B. Bestätigungen, Benachrichtigungen) als auch benutzergenerierte Inhalte.
Das Ziel ist eine zuverlässige, sichere und skalierbare Lösung für den E-Mail-Versand.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Konfiguration des SMTP-Servers: Festlegung von Parametern wie Host, Port, Authentifizierung und Verschlüsselung.
Erstellung von E-Mail-Nachrichten: Gestaltung der E-Mails im Text- und HTML-Format.
Integration in die C#-Backend-Anwendung: Nutzung von SMTP-Befehlen über .NET-Bibliotheken.
Fehlerbehandlung und Logging: Sicherstellung eines robusten Versandprozesses und Nachverfolgung fehlerhafter E-Mails.
Sicherheitsmaßnahmen: Schutz der E-Mail-Kommunikation und Verhinderung von Missbrauch.
3. Dynamischer Versand
Benachrichtigungs-E-Mails:
Beispiele: Willkommens-E-Mails, Passwort-Zurücksetzen, Bestellbestätigungen.
Dynamische Platzhalter (z. B. {Name}, {Bestellnummer}) für personalisierte Inhalte.
Massen-E-Mails:
Versand an mehrere Empfänger (z. B. Newsletter).
Nutzung von BCC oder sequentiellem Versand.
3.1 Fehler- und Zustellungsmanagement
Protokollierung von fehlgeschlagenen E-Mails (z. B. ungültige Adresse, Verbindung zum SMTP-Server fehlgeschlagen).
Rückmeldung an die Anwendung, wenn der Versand erfolgreich war.
Möglichkeit zur späteren Wiederholung fehlgeschlagener E-Mails.
4. Nicht-funktionale Anforderungen
Performance:
E-Mails sollen innerhalb von 3 Sekunden pro Nachricht versendet werden.
Unterstützung von mindestens 100 gleichzeitigen E-Mails bei Massenversand.
Skalierbarkeit:
Vorbereitung auf den Versand von bis zu 10.000 E-Mails pro Tag.
Sicherheit:
Verschlüsselung der Verbindung zum SMTP-Server (TLS/SSL).
Schutz vor Spam und Missbrauch (z. B. Rate-Limiting).
Kompatibilität:
Unterstützung moderner E-Mail-Clients (z. B. Gmail, Outlook, Thunderbird).
Sicherstellung der Anzeige von HTML-E-Mails auf Desktop- und Mobilgeräten.
5. Technische Umsetzung
5.1. Backend
Framework: ASP.NET Core.
Bibliotheken:
Verwendung von .NET System.Net.Mail oder externen Bibliotheken wie MailKit oder FluentEmail für erweiterten SMTP-Support.
Architektur:Erstellung eines SMTP-Services:Methoden für das Versenden von einfachen und komplexen E-Mails.Unterstützung für Anhänge und Templates.
5.2. Sicherheit
Schutz der Zugangsdaten:
Verwendung eines Secret Managers oder von Umgebungsvariablen für SMTP-Zugangsdaten.
Rate Limiting:
Begrenzung der Anzahl der E-Mails pro Zeitspanne, um Serverüberlastung zu vermeiden.
Spam-Prävention:
Konfiguration von SPF, DKIM und DMARC auf der Mailserver-Seite.
6. Erfolgskriterien
Alle E-Mails werden zuverlässig und sicher über den SMTP-Server versendet.
Personalisierte Nachrichten und Anhänge werden korrekt verarbeitet.
Robustheit gegen typische Fehler und Schutz vor Missbrauch.
| SnT-2 |
| --- | --- |
| LinkedÌn OAuth (Phase 2, oder später)
Backend zu LinkedIn
Die Umsetzung von LinkedIn OAuth für die Authentifizierung umfasst die Registrierung einer Anwendung im LinkedIn Developer Portal, die Umleitung des Benutzers zur LinkedIn-Login-Seite zur Zustimmung, das Erhalten eines Zugriffstokens durch den Austausch eines Autorisierungscodes, das Stellen von API-Anfragen mit dem Zugriffstoken und das sichere Management des Tokens zur Optimierung der Benutzererfahrung. | SnT -3 |
From f6c221bc7cb31848f77986412abca6838513419c Mon Sep 17 00:00:00 2001
From: Ismail
Dass die Website oder Webanwendung so entwickelt wird, dass sie in den gängigsten und aktuellen Webbrowsern einwandfrei funktioniert. | SW-1 |
| --- | --- |
-| Barrierefreiheit (WAI-ARIA-Standard) ...
Bezieht sich auf die Verwendung von ARIA-Attributen, um Webinhalte und für Menschen mit Behinderungen zugänglich zu machen. Um insbesondere dynamische Inhalte und moderne interaktive Webelemente (wie Dropdown-Menüs, Sliders,) für Menschen mit Einschränkungen nutzbar zu machen, die Screenreader oder andere Hilfstechnologien verwenden. | SW-2 |
+| Barrierefreiheit (WAI-ARIA-Standard) ...
+
Bezieht sich auf die Verwendung von ARIA-Attributen, um Webinhalte und für Menschen mit Behinderungen zugänglich zu machen. Um insbesondere dynamische Inhalte und moderne interaktive Webelemente (wie Dropdown-Menüs, Sliders,) für Menschen mit Einschränkungen nutzbar zu machen, die Screenreader oder andere Hilfstechnologien verwenden. | SW-2 |
| **CMS**:
Das System soll einen redaktionellen Schülerzugagng bieten, damit die Diplomarbeiten von Schülern selbst eingepflegt werden können. | SW-3 |
## Zugriffsverwaltung
From d3c8ef9adcbb05ba2505b3dd02d0139e55c46055 Mon Sep 17 00:00:00 2001
From: Ismail
Dass die Website oder Webanwendung so entwickelt wird, dass sie in den gängigsten und aktuellen Webbrowsern einwandfrei funktioniert. | SW-1 |
+| Die Website oder Webanwendung wird so entwickelt, dass sie in den aktuellen und vorherigen Versionen der gängigsten Webbrowser einwandfrei funktioniert:
Google Chrome (Desktop und Mobile)
Mozilla Firefox (Desktop und Mobile)
Safari (macOS und iOS)
Microsoft Edge (Chromium-basiert)
Programmiersprachen und Standards: Die Entwicklung erfolgt auf Basis moderner Technologien wie HTML5, CSS3 für eine plattformübergreifende Funktionalität.
Frameworks und Bibliotheken: Frameworks wie React, Angular oder Vue.js (für die Frontend-Entwicklung) sowie CSS-Frameworks wie Bootstrap oder TailwindCSS können zum Einsatz kommen.
Build-Tools: Tools wie Webpack, Vite oder Parcel werden zur Optimierung der Assets (z. B. Minifizierung und Bundling von Dateien) verwendet, um die Performance auf verschiedenen Browsern zu gewährleisten.
| SW-1 |
| --- | --- |
-| Barrierefreiheit (WAI-ARIA-Standard) ...
-
Bezieht sich auf die Verwendung von ARIA-Attributen, um Webinhalte und für Menschen mit Behinderungen zugänglich zu machen. Um insbesondere dynamische Inhalte und moderne interaktive Webelemente (wie Dropdown-Menüs, Sliders,) für Menschen mit Einschränkungen nutzbar zu machen, die Screenreader oder andere Hilfstechnologien verwenden. | SW-2 |
+
+| Barrierefreiheit (WAI-ARIA-Standard) ...
Verwendung von ARIA-Attributen:
Semantik und Bedienbarkeit durch role, aria-label, aria-expanded, aria-live etc. verbessern.
Dynamische Inhalte und interaktive Elemente mit Attributen wie aria-controls oder aria-describedby ausstatten.
Technologien und Tools:
Unterstützung durch Frameworks (z. B. React, Angular) und CSS-Frameworks (z. B. Bootstrap).
Einsatz von Tools wie Axe, Lighthouse oder eslint-plugin-jsx-a11y zur Validierung.
Tastaturbedienbarkeit und Kontraste:
Sicherstellen, dass alle Inhalte per Tastatur erreichbar sind.
Einhalten der Kontrastvorgaben gemäß WCAG 2.1 Stufe AA.
| SW-2 |
+
| **CMS**:
Das System soll einen redaktionellen Schülerzugagng bieten, damit die Diplomarbeiten von Schülern selbst eingepflegt werden können. | SW-3 |
## Zugriffsverwaltung
@@ -313,8 +314,10 @@ Protokollierung aller Authentifizierungsversuche und der zugehörigen LinkedIn-D
## Premiumbereich (Phase 2)
-| Verwaltung der Premiumkunden
Die Verwaltung eines Premium-Kunden umfasst die Identifizierung und Segmentierung, das Erstellen eines individuellen Profils, das Anbieten maßgeschneiderter Dienstleistungen, regelmäßige Kommunikation, exklusive Angebote, das Sammeln von Feedback und die Überwachung der Kundenzufriedenheit. | PRE-1 |
+| Verwaltung der Premiumkunden
1. Benutzerverwaltung:
- Identifikation und Segmentierung der Premiumkunden.
-Erstellung und Verwaltung individueller Kundenprofile.
2. Serviceverwaltung:
-Bereitstellung maßgeschneiderter Dienstleistungen und Angebote.
-Exklusive Inhalte oder Angebote für Premiumkunden.
3. Kommunikationssystem: -Regelmäßige und personalisierte Kommunikation über E-Mail, Push-Benachrichtigungen oder Messaging-Dienste. 4. Feedback- und Zufriedenheitstools: -Sammlung von Kundenfeedback
-Tools zur Überwachung und Analyse der Kundenzufriedenheit.
Technologien:
Datenbank: MySQL, PostgreSQL oder MongoDB zur Speicherung von Kundeninformationen und Präferenzen.
CRM-System: Salesforce, HubSpot oder eine Eigenentwicklung zur Kundenverwaltung.
Kommunikation: SMTP (z. B. SendGrid) für E-Mails,
Websockets für Echtzeitkommunikation.Datenanalyse: Tools wie Power BI oder Google Analytics zur Zufriedenheitsüberwachung.
+ | PRE-1 |
| --- | --- |
+
| Ingenieurantrag
Ein Ingenieurantrag umfasst die Vorbereitung der Unterlagen, das Ausfüllen des Antragsformulars, die Einreichung bei der Behörde, die Prüfung und Genehmigung des Antrags sowie die Dokumentation für zukünftige Referenzen. | PRE-2 |
| Matura & Klassentreffen organisieren
Die Organisation eines Matura- und Klassentreffens umfasst die Festlegung von Datum und Ort, die Erstellung einer Gästeliste, das Versenden von Einladungen, die Planung des Programms und die Koordination von Verpflegung und Dekoration. | PRE-3 |
From 10fbe5e5594f012dd6cc30ce20a4361d40568407 Mon Sep 17 00:00:00 2001
From: Ismail
Google Chrome (Desktop und Mobile)
Mozilla Firefox (Desktop und Mobile)
Safari (macOS und iOS)
Microsoft Edge (Chromium-basiert)
Programmiersprachen und Standards: Die Entwicklung erfolgt auf Basis moderner Technologien wie HTML5, CSS3 für eine plattformübergreifende Funktionalität.
Frameworks und Bibliotheken: Frameworks wie React, Angular oder Vue.js (für die Frontend-Entwicklung) sowie CSS-Frameworks wie Bootstrap oder TailwindCSS können zum Einsatz kommen.
Build-Tools: Tools wie Webpack, Vite oder Parcel werden zur Optimierung der Assets (z. B. Minifizierung und Bundling von Dateien) verwendet, um die Performance auf verschiedenen Browsern zu gewährleisten.
| SW-1 |
-| --- | --- |
+| Die Website oder Webanwendung wird so entwickelt, dass sie in den aktuellen und vorherigen Versionen der gängigsten Webbrowser einwandfrei funktioniert:
Google Chrome (Desktop und Mobile)
Mozilla Firefox (Desktop und Mobile)
Safari (macOS und iOS)
Microsoft Edge (Chromium-basiert)
1. Programmiersprachen und Standards:
-Die Entwicklung erfolgt auf Basis moderner Technologien wie HTML5, CSS3 für eine plattformübergreifende Funktionalität.
2. Frameworks und Bibliotheken:
-Frameworks wie React, Angular oder Vue.js (für die Frontend-Entwicklung) sowie CSS-Frameworks wie Bootstrap oder TailwindCSS können zum Einsatz kommen.
3. Build-Tools:
-Tools wie Webpack, Vite oder Parcel werden zur Optimierung der Assets (z. B. Minifizierung und Bundling von Dateien) verwendet,um die Performance auf verschiedenen Browsern zu gewährleisten.
| SW-1 |
-| Barrierefreiheit (WAI-ARIA-Standard) ...
Verwendung von ARIA-Attributen:
Semantik und Bedienbarkeit durch role, aria-label, aria-expanded, aria-live etc. verbessern.
Dynamische Inhalte und interaktive Elemente mit Attributen wie aria-controls oder aria-describedby ausstatten.
Technologien und Tools:
Unterstützung durch Frameworks (z. B. React, Angular) und CSS-Frameworks (z. B. Bootstrap).
Einsatz von Tools wie Axe, Lighthouse oder eslint-plugin-jsx-a11y zur Validierung.
Tastaturbedienbarkeit und Kontraste:
Sicherstellen, dass alle Inhalte per Tastatur erreichbar sind.
Einhalten der Kontrastvorgaben gemäß WCAG 2.1 Stufe AA.
| SW-2 |
+
+
+| Barrierefreiheit (WAI-ARIA-Standard) ...
1. Verwendung von ARIA-Attributen:
-Semantik und Bedienbarkeit durch role, aria-label, aria-expanded, aria-live etc. verbessern.
-Dynamische Inhalte und interaktive Elemente mit Attributen wie aria-controls oder aria-describedby ausstatten.
2. Technologien und Tools:
-Unterstützung durch Frameworks (z. B. React, Angular) und CSS-Frameworks (z. B. Bootstrap).
-Einsatz von Tools wie Axe, Lighthouse oder eslint-plugin-jsx-a11y zur Validierung.
3. Tastaturbedienbarkeit und Kontraste:
-Sicherstellen, dass alle Inhalte per Tastatur erreichbar sind.
-Einhalten der Kontrastvorgaben gemäß WCAG 2.1 Stufe AA.
| SW-2 |
| **CMS**:
Das System soll einen redaktionellen Schülerzugagng bieten, damit die Diplomarbeiten von Schülern selbst eingepflegt werden können. | SW-3 |
@@ -314,12 +315,13 @@ Protokollierung aller Authentifizierungsversuche und der zugehörigen LinkedIn-D
## Premiumbereich (Phase 2)
-| Verwaltung der Premiumkunden
1. Benutzerverwaltung:
- Identifikation und Segmentierung der Premiumkunden.
-Erstellung und Verwaltung individueller Kundenprofile.
2. Serviceverwaltung:
-Bereitstellung maßgeschneiderter Dienstleistungen und Angebote.
-Exklusive Inhalte oder Angebote für Premiumkunden.
3. Kommunikationssystem: -Regelmäßige und personalisierte Kommunikation über E-Mail, Push-Benachrichtigungen oder Messaging-Dienste. 4. Feedback- und Zufriedenheitstools: -Sammlung von Kundenfeedback
-Tools zur Überwachung und Analyse der Kundenzufriedenheit.
Technologien:
Datenbank: MySQL, PostgreSQL oder MongoDB zur Speicherung von Kundeninformationen und Präferenzen.
CRM-System: Salesforce, HubSpot oder eine Eigenentwicklung zur Kundenverwaltung.
Kommunikation: SMTP (z. B. SendGrid) für E-Mails,
Websockets für Echtzeitkommunikation.Datenanalyse: Tools wie Power BI oder Google Analytics zur Zufriedenheitsüberwachung.
+| Verwaltung der Premiumkunden
1. Benutzerverwaltung:
- Identifikation und Segmentierung der Premiumkunden.
-Erstellung und Verwaltung individueller Kundenprofile.
2. Serviceverwaltung:
-Bereitstellung maßgeschneiderter Dienstleistungen und Angebote.
-Exklusive Inhalte oder Angebote für Premiumkunden.
3. Kommunikationssystem: -Regelmäßige und personalisierte Kommunikation über E-Mail, Push-Benachrichtigungen oder Messaging-Dienste. 4. Feedback- und Zufriedenheitstools: -Sammlung von Kundenfeedback
-Tools zur Überwachung und Analyse der Kundenzufriedenheit.
Technologien:
-Datenbank: MySQL, PostgreSQL oder MongoDB zur Speicherung von Kundeninformationen und Präferenzen.
-CRM-System: Salesforce, HubSpot oder eine Eigenentwicklung zur Kundenverwaltung.
-Kommunikation: SMTP (z. B. SendGrid) für E-Mails,Websockets für Echtzeitkommunikation.
-Datenanalyse: Tools wie Power BI oder Google Analytics zur Zufriedenheitsüberwachung.
| PRE-1 |
| --- | --- |
-| Ingenieurantrag
Ein Ingenieurantrag umfasst die Vorbereitung der Unterlagen, das Ausfüllen des Antragsformulars, die Einreichung bei der Behörde, die Prüfung und Genehmigung des Antrags sowie die Dokumentation für zukünftige Referenzen. | PRE-2 |
-| Matura & Klassentreffen organisieren
Die Organisation eines Matura- und Klassentreffens umfasst die Festlegung von Datum und Ort, die Erstellung einer Gästeliste, das Versenden von Einladungen, die Planung des Programms und die Koordination von Verpflegung und Dekoration. | PRE-3 |
+| Ingenieurantrag
-Ein Ingenieurantrag umfasst die Vorbereitung der Unterlagen, das Ausfüllen des Antragsformulars, die Einreichung bei der Behörde, die Prüfung und Genehmigung des Antrags sowie die Dokumentation für zukünftige Referenzen.
Technologien und Komponenten:
-Dokumentenmanagementsystem (DMS): Für die Verwaltung und Archivierung der erforderlichen Unterlagen.
-Online-Formularsystem: Zur Eingabe und Übermittlung der Antragdaten.
-Behördenportale: Nutzung digitaler Plattformen für die Einreichung.
-Projektmanagement-Tool: Zur Nachverfolgung der Bearbeitungsschritte und Fristen.
-Kommunikationsplattformen: Für Rückfragen mit Behörden. | PRE-2 |
+
+| Matura & Klassentreffen organisieren
-Die Organisation eines Matura- und Klassentreffens umfasst die Festlegung von Datum und Ort, die Erstellung einer Gästeliste, das Versenden von Einladungen, die Planung des Programms und die Koordination von Verpflegung und Dekoration.
Technologien und Komponenten: Frontend: Die Magic Link Authentifizierung ist eine Methode der Benutzeranmeldung, bei der anstelle eines Passworts ein einmaliger Login-Link an die E-Mail-Adresse des Benutzers gesendet wird. Wenn der Benutzer auf diesen Link klickt, wird er automatisch und sicher in die Anwendung eingeloggt. Backend: Benutzerregistrierung:
+ Benutzerregistrierung::
Implementierung einer Funktion zur Registrierung potenzieller Benutzer, die ihre E-Mail-Adresse und andere erforderliche Informationen erfasst.
E-Mail-Versand:
Nach der Registrierung muss eine E-Mail an die angegebene Adresse gesendet werden, die einen Authentifizierungslink enthält.
From b28377ee1d57405846844e430e73b6dfed94b766 Mon Sep 17 00:00:00 2001
From: Florian Edlmayer +w
z_~pv&?=*i%%2C}}CR}K^|JdmX6KAT;nys#-t+QzHl9fiQj90H&yXi->&E{Jyw(i<(
zv&YuX-ofR7>p{0e?jFZac%Ss~_47Y-_T2fP3m1d0hF!ZJ9`Re`jhNUwad+eI-GA`p
zX>v+x+OzbG+`RmP!lIYOugWVbtEy{i>*~3@me#g*en)4QsDEH^NIZ;5q@cF(Q62E#
zj~acUk226_^w_au#wv~IGitOC_#2}
-Doodle oder ähnliche Umfragetools: Zur Abstimmung von Datum und Ort.
-Excel/Google Sheets: Für die Erstellung und Verwaltung der Gästeliste.
-E-Mail-Marketing-Tools: Zum Versenden von Einladungen.
-Eventmanagement-Plattformen: Für Programmentwurf und Aufgabenverteilung.
-Cloud-basierte Kalender und Tools: Für die Koordination von Verpflegung und Dekoration. | PRE-3 |
## Auswertungen
From 0c81576f4b9a509ccda3a0b7448506cd9802f573 Mon Sep 17 00:00:00 2001
From: Ismail
-|1. Zielsetzung
Die geplante REST API soll in die Oqtane-CMS-Umgebung integriert werden, um eine dynamische Kommunikation zwischen dem CMS und einer Website zu ermöglichen. Sie dient dazu, Inhalte und Funktionen des CMS über die API für die Website verfügbar zu machen und ermöglicht dynamische CRUD-Operationen (Create, Read, Update, Delete) direkt aus dem CMS heraus.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Integration in Oqtane: Erweiterung des Oqtane-CMS mit zusätzlichen Modulen und APIs.
Entwicklung der REST API: Bereitstellung von Endpunkten zur Interaktion zwischen CMS-Daten und Website.
Frontend-Integration: Anbindung der Website an die API, um CMS-Inhalte dynamisch darzustellen.
Sicherheitsimplementierung: Absicherung der API und des Datenflusses zwischen CMS und Website.
3. Sicherheitsanforderungen
Authentifizierung:
Verwendung von Oqtane's integriertem Benutzermanagement und JWT für Authentifizierung.
Sicherstellung, dass Benutzerrollen (z. B. Admin, Editor, User) berücksichtigt werden.
Autorisierung:
Zugriff auf Endpunkte wird basierend auf Benutzerrollen gesteuert.
Sensible Aktionen (z. B. Inhalte löschen) nur für berechtigte Benutzer möglich.
Eingabedatenvalidierung:
Eingaben im Frontend und Backend validieren.
API-Schutz:
Schutz gegen CSRF, XSS, und andere Angriffe.
Nutzung von HTTPS.
4. Nicht-funktionale Anforderungen
Performance: Antwortzeiten der API < 300ms für häufige Anfragen.
Kompatibilität: Vollständig kompatibel mit Oqtane-Modulen und Standard-Datenstrukturen.
Skalierbarkeit: Möglichkeit, neue Module und API-Endpunkte ohne größere Umbauten zu integrieren.
Internationalisierung: Unterstützung mehrsprachiger Inhalte.
5. Technische Umsetzung
5.1. Backend (Oqtane CMS)
Framework: ASP.NET Core, integriert in Oqtane.
Architektur:
Erweiterung des Oqtane-CMS durch Module.
Nutzung der Oqtane-Service-API und Datenzugriff über die vorhandene Architektur.
Erstellung benutzerdefinierter APIs mit .Controllers und Abbildung auf Oqtane-Tabellen.
5.2. Frontend
Technologien:
JavaScript-Frameworks wie React, Angular oder Vue.js.
Integration der REST API über Bibliotheken wie Axios oder die Fetch API.
Darstellung der Inhalte aus Oqtane in dynamischen Komponenten (z. B. Listen, Detailansichten).
API-Integration:
Frontend ruft Inhalte direkt von der REST API ab.
Dynamische Aktualisierung der Inhalte durch Benutzeraktionen (z. B. Formularübermittlung).
5.3. Sicherheit
Authentifizierung:
Authentifizierung über JWT-Token (Login-Endpunkte in Oqtane).
Speicherung von Token im sicheren Speicher (z. B. HttpOnly Cookies).
Eingabeverarbeitung:
Validierung von Daten im Frontend und Backend.
Schutz vor schädlichen Nutzereingaben (z. B. SQL-Injection).
6. Erfolgskriterien
Die Website kann nahtlos mit der Oqtane-REST API interagieren.
Die API erfüllt alle funktionalen Anforderungen und ist in die Oqtane-Datenstruktur integriert.
Sichere und performante Bereitstellung der API.
Modularer Aufbau, der zukünftige Erweiterungen unterstützt.
| SnT-1 |
+| Anforderung | ID |
| --- | --- |
+| RestAPI (Frontend / Backend)
1. Zielsetzung
Die geplante REST API soll in die Oqtane-CMS-Umgebung integriert werden, um eine dynamische Kommunikation zwischen dem CMS und einer Website zu ermöglichen. Sie dient dazu, Inhalte und Funktionen des CMS über die API für die Website verfügbar zu machen und ermöglicht dynamische CRUD-Operationen (Create, Read, Update, Delete) direkt aus dem CMS heraus.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Integration in Oqtane: Erweiterung des Oqtane-CMS mit zusätzlichen Modulen und APIs.
Entwicklung der REST API: Bereitstellung von Endpunkten zur Interaktion zwischen CMS-Daten und Website.
Frontend-Integration: Anbindung der Website an die API, um CMS-Inhalte dynamisch darzustellen.
Sicherheitsimplementierung: Absicherung der API und des Datenflusses zwischen CMS und Website.
3. Sicherheitsanforderungen
Authentifizierung:
Verwendung von Oqtane's integriertem Benutzermanagement und JWT für Authentifizierung.
Sicherstellung, dass Benutzerrollen (z. B. Admin, Editor, User) berücksichtigt werden.
Autorisierung:
Zugriff auf Endpunkte wird basierend auf Benutzerrollen gesteuert.
Sensible Aktionen (z. B. Inhalte löschen) nur für berechtigte Benutzer möglich.
Eingabedatenvalidierung:
Eingaben im Frontend und Backend validieren.
API-Schutz:
Schutz gegen CSRF, XSS, und andere Angriffe.
Nutzung von HTTPS.
4. Nicht-funktionale Anforderungen
Performance: Antwortzeiten der API < 300ms für häufige Anfragen.
Kompatibilität: Vollständig kompatibel mit Oqtane-Modulen und Standard-Datenstrukturen.
Skalierbarkeit: Möglichkeit, neue Module und API-Endpunkte ohne größere Umbauten zu integrieren.
Internationalisierung: Unterstützung mehrsprachiger Inhalte.
5. Technische Umsetzung
5.1. Backend (Oqtane CMS)
Framework: ASP.NET Core, integriert in Oqtane.
Architektur:
Erweiterung des Oqtane-CMS durch Module.
Nutzung der Oqtane-Service-API und Datenzugriff über die vorhandene Architektur.
Erstellung benutzerdefinierter APIs mit .Controllers und Abbildung auf Oqtane-Tabellen.
5.2. Frontend
Technologien:
JavaScript-Frameworks wie React, Angular oder Vue.js.
Integration der REST API über Bibliotheken wie Axios oder die Fetch API.
Darstellung der Inhalte aus Oqtane in dynamischen Komponenten (z. B. Listen, Detailansichten).
API-Integration:
Frontend ruft Inhalte direkt von der REST API ab.
Dynamische Aktualisierung der Inhalte durch Benutzeraktionen (z. B. Formularübermittlung).
5.3. Sicherheit
Authentifizierung:
Authentifizierung über JWT-Token (Login-Endpunkte in Oqtane).
Speicherung von Token im sicheren Speicher (z. B. HttpOnly Cookies).
Eingabeverarbeitung:
Validierung von Daten im Frontend und Backend.
Schutz vor schädlichen Nutzereingaben (z. B. SQL-Injection).
6. Erfolgskriterien
Die Website kann nahtlos mit der Oqtane-REST API interagieren.
Die API erfüllt alle funktionalen Anforderungen und ist in die Oqtane-Datenstruktur integriert.
Sichere und performante Bereitstellung der API.
Modularer Aufbau, der zukünftige Erweiterungen unterstützt.
| SnT-1 |
### Schnittstellen zu anderen Systemen
-| SMTP (Email versand)
1. Zielsetzung
Die Implementierung eines SMTP-basierten E-Mail-Versands in der C#-Backend-Anwendung ermöglicht das Versenden von E-Mails über einen konfigurierten
Mailserver. Dies umfasst sowohl systemgenerierte E-Mails (z. B. Bestätigungen, Benachrichtigungen) als auch benutzergenerierte Inhalte.
Das Ziel ist eine zuverlässige, sichere und skalierbare Lösung für den E-Mail-Versand.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Konfiguration des SMTP-Servers: Festlegung von Parametern wie Host, Port, Authentifizierung und Verschlüsselung.
Erstellung von E-Mail-Nachrichten: Gestaltung der E-Mails im Text- und HTML-Format.
Integration in die C#-Backend-Anwendung: Nutzung von SMTP-Befehlen über .NET-Bibliotheken.
Fehlerbehandlung und Logging: Sicherstellung eines robusten Versandprozesses und Nachverfolgung fehlerhafter E-Mails.
Sicherheitsmaßnahmen: Schutz der E-Mail-Kommunikation und Verhinderung von Missbrauch.
3. Dynamischer Versand
Benachrichtigungs-E-Mails:
Beispiele: Willkommens-E-Mails, Passwort-Zurücksetzen, Bestellbestätigungen.
Dynamische Platzhalter (z. B. {Name}, {Bestellnummer}) für personalisierte Inhalte.
Massen-E-Mails:
Versand an mehrere Empfänger (z. B. Newsletter).
Nutzung von BCC oder sequentiellem Versand.
3.1 Fehler- und Zustellungsmanagement
Protokollierung von fehlgeschlagenen E-Mails (z. B. ungültige Adresse, Verbindung zum SMTP-Server fehlgeschlagen).
Rückmeldung an die Anwendung, wenn der Versand erfolgreich war.
Möglichkeit zur späteren Wiederholung fehlgeschlagener E-Mails.
4. Nicht-funktionale Anforderungen
Performance:
E-Mails sollen innerhalb von 3 Sekunden pro Nachricht versendet werden.
Unterstützung von mindestens 100 gleichzeitigen E-Mails bei Massenversand.
Skalierbarkeit:
Vorbereitung auf den Versand von bis zu 10.000 E-Mails pro Tag.
Sicherheit:
Verschlüsselung der Verbindung zum SMTP-Server (TLS/SSL).
Schutz vor Spam und Missbrauch (z. B. Rate-Limiting).
Kompatibilität:
Unterstützung moderner E-Mail-Clients (z. B. Gmail, Outlook, Thunderbird).
Sicherstellung der Anzeige von HTML-E-Mails auf Desktop- und Mobilgeräten.
5. Technische Umsetzung
5.1. Backend
Framework: ASP.NET Core.
Bibliotheken:
Verwendung von .NET System.Net.Mail oder externen Bibliotheken wie MailKit oder FluentEmail für erweiterten SMTP-Support.
Architektur:Erstellung eines SMTP-Services:Methoden für das Versenden von einfachen und komplexen E-Mails.Unterstützung für Anhänge und Templates.
5.2. Sicherheit
Schutz der Zugangsdaten:
Verwendung eines Secret Managers oder von Umgebungsvariablen für SMTP-Zugangsdaten.
Rate Limiting:
Begrenzung der Anzahl der E-Mails pro Zeitspanne, um Serverüberlastung zu vermeiden.
Spam-Prävention:
Konfiguration von SPF, DKIM und DMARC auf der Mailserver-Seite.
6. Erfolgskriterien
Alle E-Mails werden zuverlässig und sicher über den SMTP-Server versendet.
Personalisierte Nachrichten und Anhänge werden korrekt verarbeitet.
Robustheit gegen typische Fehler und Schutz vor Missbrauch.
| SnT-2 |
+| Anforderung | ID |
| --- | --- |
-| LinkedÌn OAuth (Phase 2, oder später)
Backend zu LinkedIn
Die Umsetzung von LinkedIn OAuth für die Authentifizierung umfasst die Registrierung einer Anwendung im LinkedIn Developer Portal, die Umleitung des Benutzers zur LinkedIn-Login-Seite zur Zustimmung, das Erhalten eines Zugriffstokens durch den Austausch eines Autorisierungscodes, das Stellen von API-Anfragen mit dem Zugriffstoken und das sichere Management des Tokens zur Optimierung der Benutzererfahrung. | SnT -3 |
+| SMTP (Email versand)
1. Zielsetzung
Die Implementierung eines SMTP-basierten E-Mail-Versands in der C#-Backend-Anwendung ermöglicht das Versenden von E-Mails über einen konfigurierten
Mailserver. Dies umfasst sowohl systemgenerierte E-Mails (z. B. Bestätigungen, Benachrichtigungen) als auch benutzergenerierte Inhalte.
Das Ziel ist eine zuverlässige, sichere und skalierbare Lösung für den E-Mail-Versand.
2. Aufgabenbeschreibung
Die Aufgabe umfasst:
Konfiguration des SMTP-Servers: Festlegung von Parametern wie Host, Port, Authentifizierung und Verschlüsselung.
Erstellung von E-Mail-Nachrichten: Gestaltung der E-Mails im Text- und HTML-Format.
Integration in die C#-Backend-Anwendung: Nutzung von SMTP-Befehlen über .NET-Bibliotheken.
Fehlerbehandlung und Logging: Sicherstellung eines robusten Versandprozesses und Nachverfolgung fehlerhafter E-Mails.
Sicherheitsmaßnahmen: Schutz der E-Mail-Kommunikation und Verhinderung von Missbrauch.
3. Dynamischer Versand
Benachrichtigungs-E-Mails:
Beispiele: Willkommens-E-Mails, Passwort-Zurücksetzen, Bestellbestätigungen.
Dynamische Platzhalter (z. B. {Name}, {Bestellnummer}) für personalisierte Inhalte.
Massen-E-Mails:
Versand an mehrere Empfänger (z. B. Newsletter).
Nutzung von BCC oder sequentiellem Versand.
3.1 Fehler- und Zustellungsmanagement
Protokollierung von fehlgeschlagenen E-Mails (z. B. ungültige Adresse, Verbindung zum SMTP-Server fehlgeschlagen).
Rückmeldung an die Anwendung, wenn der Versand erfolgreich war.
Möglichkeit zur späteren Wiederholung fehlgeschlagener E-Mails.
4. Nicht-funktionale Anforderungen
Performance:
E-Mails sollen innerhalb von 3 Sekunden pro Nachricht versendet werden.
Unterstützung von mindestens 100 gleichzeitigen E-Mails bei Massenversand.
Skalierbarkeit:
Vorbereitung auf den Versand von bis zu 10.000 E-Mails pro Tag.
Sicherheit:
Verschlüsselung der Verbindung zum SMTP-Server (TLS/SSL).
Schutz vor Spam und Missbrauch (z. B. Rate-Limiting).
Kompatibilität:
Unterstützung moderner E-Mail-Clients (z. B. Gmail, Outlook, Thunderbird).
Sicherstellung der Anzeige von HTML-E-Mails auf Desktop- und Mobilgeräten.
5. Technische Umsetzung
5.1. Backend
Framework: ASP.NET Core.
Bibliotheken:
Verwendung von .NET System.Net.Mail oder externen Bibliotheken wie MailKit oder FluentEmail für erweiterten SMTP-Support.
Architektur:Erstellung eines SMTP-Services:Methoden für das Versenden von einfachen und komplexen E-Mails.Unterstützung für Anhänge und Templates.
5.2. Sicherheit
Schutz der Zugangsdaten:
Verwendung eines Secret Managers oder von Umgebungsvariablen für SMTP-Zugangsdaten.
Rate Limiting:
Begrenzung der Anzahl der E-Mails pro Zeitspanne, um Serverüberlastung zu vermeiden.
Spam-Prävention:
Konfiguration von SPF, DKIM und DMARC auf der Mailserver-Seite.
6. Erfolgskriterien
Alle E-Mails werden zuverlässig und sicher über den SMTP-Server versendet.
Personalisierte Nachrichten und Anhänge werden korrekt verarbeitet.
Robustheit gegen typische Fehler und Schutz vor Missbrauch.
| SnT-2 |
+| LinkedÌn OAuth (Phase 2, oder später)
Backend zu LinkedIn
1. Zielsetzung
Implementierung von LinkedIn OAuth 2.0 für die Authentifizierung und den Abruf von Profildaten in der C#-Backend-Anwendung.
2. Anforderungen
Registrierung der App im LinkedIn Developer Portal.
OAuth 2.0 Authentifizierungsablauf:
Weiterleitung zur LinkedIn-Login-Seite.
Empfang des Autorisierungscodes.
Austausch des Codes gegen ein Zugriffstoken.
Abruf von Benutzerinformationen (Vorname, Nachname, E-Mail).
Sicheres Token-Management (kein Speichern von Zugangsdaten in der Datenbank).
3. Technische Umsetzung
Backend: ASP.NET Core
API-Endpunkte:
/auth/linkedin (Weiterleitung zur LinkedIn-Login-Seite).
/auth/linkedin/callback (Empfang des Codes).
/api/user/profile (Abruf von LinkedIn-Daten mit Token).
Sicherheit:
Nutzung von HTTPS und PKCE.
Speicherung von Tokens nur im Cache (z. B. Redis).
Einschränkung der API-Berechtigungen (r_liteprofile, r_emailaddress).
4. Erfolgskriterien
Benutzer können sich sicher über LinkedIn anmelden.
Zugriffstoken werden sicher verarbeitet.
API-Datenabruf funktioniert zuverlässig.
| SnT -3 |
# Anforderungen an die Software
From 1652c0b79a427aae4863667144a68e307f449879 Mon Sep 17 00:00:00 2001
From: Adam Gaiswinkler