\section{Implementierte Muss-, Soll- und Kannkriterien}

Nachdem nun die vorgenommenen Änderungen des Entwurfs behandelt wurden, geht es nun zu der eigentlichen Frage:
Was wurde umgesetzt?

In der folgenden Tabelle werden alle im Pflichtenheft vorgestellten und im Entwurfsheft überarbeiteten Kriterien mit der Kriterienbezeichnung, einer kleinen Zusammenfassung und einer Info, ob die Kriterien implementiert wurden, aufgelistet.

\hspace{-1cm}
\begin{tabular}{l|c|c}
<<<<<<< HEAD
	Bezeichner & Zusammenfassung                                                                        & Implementiert\\\hline
	\textlangle RM1 \textrangle       & \makecell{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\\\hline\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       & \makecell{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\\\hline\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}
=======
	Bezeichner & Zusammenfassung & Implementiert\\\hline
	RM1 & \makecell{Registrierung, Bestätigung und Anmeldung\\ eines Accounts über das Frontend} & Ja\\
	RM2 & Speichern von \Glspl{abo} und \Glspl{episode} auf dem Server & Ja\\
	RM3 & Synchronisierung zwischen \Glspl{podcatcher} & Ja\\
	RM4 & Eine Weboberfläche & Ja\\
	RM5 & Möglichkeit das eigene Passwort zu ändern / zurückzusetzen & Ja\\
	RM6 & \Gls{abo}liste in der Weboberfläche & Ja\\
	RM7 & 50 Anfragen / Sekunde bearbeiten & Zu testen\\
	RM8 & Primäre Auslegung des Webfrontends für Desktop-Nutzer & Ja\\
	RM9 & Unterstützung der \gls{gpodder}.net \Gls{rest-api} & Ja\\
	RM10 & Das Nutzen einer \Gls{db} zur Speicherung von Daten & Ja\\
	RM11 & Erweiterte \GLS{api} für Kommunikation zwischen Front- und Backend & Ja\\\hline
	RS1 & Eine Anleitung (Platzhalter) & Ja\\
	RS2 & Die Möglichkeit einen Account zu löschen & Ja\\
	RS3 & \Gls{spring} für das Backend und MariaDB als \Gls{db} & Ja\\
	RS4 & Vue.js und Bootstrap für das Frontend & Ja\\
	RS5 & npm und vite für das Frontend & Ja\\
	RS6 & \makecell{Eine \Gls{spa} als Frontend\\mit dynamischer Aktualisierung} & Ja\\
	RS7 & Ein \GLS{rss}-Parser um Daten aus einem \GLS{rss}-Feed zu lesen & Ja\\
	RS8 & Mindestanforderungen an ein Passwort & Ja\\
	RS9 & \Gls{salt-hash} für Verschlüsselung der Personenbezogenen Daten & Ja\\
	RS10 & Nutzer bleibt über JWT angemeldet und authentifiziert & Ja\\\hline
	RC1 & Abonnierten \Gls{podcast} in Weboberfläche über Link teilen und hinzufügen & Ja\\
	RC2 & \Glspl{abo} in Weboberfläche deabonnieren & Nein\\
	RC3 & Importieren und Exportieren aller benutzerbezogenen Daten & Ja\\
	RC4 & Umsiedeln von anderen \Gls{gpodder}-Plattformen & Ja\\
	RC5 & Kompatible Weboberfläche für beliebige \gls{gpodder}.net APIs & Entfernt\\
	RC6 & \Gls{responsive} designte Weboberfläche & Ja\\
	RC7 & Administratorkonten mit privilegierten Funktionen & Nein\\
	RC8 & \Gls{oauth} 2.0 im Webfrontend & Nein\\
	RC9 & Bei Ausfall des Backends im Frontend angemeldet bleiben & Ja\\
	RC10 & Mehrsprachige Weboberfläche & Ja\\
	RC11 & Erfüllung der DSGVO & Teils\\
	RC12 & \Gls{docker} für einfaches Deployment und Sicherheit & Ja 
\end{tabular}
>>>>>>> main
