\begin{frame}{Muss-Kriterien} \rowcolors{1}{kit-orange60}{kit-orange30} \begin{tabular}{ >{\bfseries}l l l} \rowcolor{kit-orange} Bezeichner & Zusammenfassung & Implementiert\\\hline \textlangle RM1 \textrangle & Registrierung, Bestätigung und Anmeldung eines Accounts über das Frontend & Ja\\ \textlangle RM2 \textrangle & Speichern von Abonnements und Episoden auf dem Server & Ja\\ \textlangle RM3 \textrangle & Synchronisierung zwischen Podcatchern & Ja\\ \textlangle RM4 \textrangle & Eine Weboberfläche & Ja\\ \textlangle RM5 \textrangle & Möglichkeit das eigene Passwort zu ändern / zurückzusetzen & Ja\\ \textlangle RM6 \textrangle & Abonnementliste in der Weboberfläche & Ja\\ \textlangle RM7 \textrangle & 50 Anfragen / Sekunde bearbeiten & Zu testen\\ \textlangle RM8 \textrangle & Primäre Auslegung des Webfrontends für Desktop-Nutzer & Ja\\ \textlangle RM9 \textrangle & Unterstützung der gpodder.net RESTful-API & Ja\\ \textlangle RM10\textrangle & Das Nutzen einer Datenbank zur Speicherung von Daten & Ja\\ \textlangle RM11\textrangle & Erweiterte API für Kommunikation zwischen Front- und Backend & Ja \end{tabular} \end{frame} \begin{frame}{Soll-Kriterien} \rowcolors{1}{kit-green60}{kit-green30} \begin{tabular}{ >{\bfseries}l l l} \rowcolor{kit-green} Bezeichner & Zusammenfassung & Implementiert\\\hline \textlangle RS1 \textrangle & Eine Anleitung (Platzhalter) & Ja\\ \textlangle RS2 \textrangle & Die Möglichkeit einen Account zu löschen & Ja\\ \textlangle RS3 \textrangle & Spring für das Backend und MariaDB als Datenbank & Ja\\ \textlangle RS4 \textrangle & Vue.js und Bootstrap für das Frontend & Ja\\ \textlangle RS5 \textrangle & npm und vite für das Frontend & Ja\\ \textlangle RS6 \textrangle & Eine Single-Page-Application als Frontend mit dynamischer Aktualisierung & Ja\\ \textlangle RS7 \textrangle & Ein RSS-Parser um Daten aus einem RSS-Feed zu lesen & Ja\\ \textlangle RS8 \textrangle & Mindestanforderungen an ein Passwort & Ja\\ \textlangle RS9 \textrangle & Salting und Hashing für Verschlüsselung der Personenbezogenen Daten & Ja\\ \textlangle RS10\textrangle & Nutzer bleibt über JWT angemeldet und authentifiziert & Ja \end{tabular} \end{frame} \begin{frame}{Kann-Kriterien} \rowcolors{1}{kit-blue60}{kit-blue30} \begin{tabular}{ >{\bfseries}l l l } \rowcolor{kit-blue} Bezeichner & Zusammenfassung & Implementiert\\\hline \textlangle RC1 \textrangle & Abonnierten Podcast in Weboberfläche über Link teilen und hinzufügen & Ja\\ \textlangle RC2 \textrangle & Abonnements in Weboberfläche deabonnieren & Nein\\ \textlangle RC3 \textrangle & Importieren und Exportieren aller benutzerbezogenen Daten & Ja\\ \textlangle RC4 \textrangle & Umsiedeln von anderen Gpodder-Plattformen & Ja\\ \textlangle RC5 \textrangle & Kompatible Weboberfläche für beliebige gpodder.net APIs & Entfernt\\ \textlangle RC6 \textrangle & Responsive designte Weboberfläche & Ja\\ \textlangle RC7 \textrangle & Administratorkonten mit privilegierten Funktionen & Nein\\ \textlangle RC8 \textrangle & OAuth 2.0 im Webfrontend & Nein\\ \textlangle RC9 \textrangle & Bei Ausfall des Backends im Frontend angemeldet bleiben & Ja\\ \textlangle RC10\textrangle & Mehrsprachige Weboberfläche & Ja\\ \textlangle RC11\textrangle & Erfüllung der DSGVO & Teils\\ \textlangle RC12\textrangle & Docker für einfaches Deployment und Sicherheit & Ja \end{tabular} \end{frame}