\section{Änderungen zum Implementierungsheft}

Zuallererst werden im Folgenden die Änderungen zum Implementierungsheft aufgelistet und es wird erläutert warum diese 
Änderungen gemacht wurden.

\subsection{Kriterien}

Zwei weitere Kriterien sind nun erfüllt. Diese sind:

\begin{table}[h!]
\begin{tabularx}{\textwidth}{l|X|c}
Bezeichner                  & Zusammenfassung                           & Implementiert\\\hline
\textlangle RM7 \textrangle & 50 Anfragen / Sekunde bearbeiten          & Ja*\\\hline\hline
\textlangle RC2 \textrangle & \Glspl{abo} in Weboberfläche deabonnieren & Ja
\end{tabularx}
\end{table}

*nicht unter Mindestanforderungen - 2 Kerne, 2GB RAM, 12GB Speicher

\subsection{Aussagekräftige Benachrichtigungen im Frontend}

Zur Implementierungsphase wurden generische Fehlermeldungen angezeigt, falls
eine Anfrage an den Server fehlschlug. Mit Fehlercodes können Nutzer nicht
besonders viel anfangen, weshalb wir die Benachrichtigungen überarbeitet haben. 

Jetzt werden neben farbenfrohen Symbolen auch verständliche Meldungen angezeigt.
Fehlermeldungen von Server-Anfragen zeigen dabei einen unterschiedlichen Text
an, je nachdem welcher HTTP-Code zurück gegeben wurde oder ob der Server
überhaupt erreichbar ist. 

\begin{figure}[h!]
    \centering
    \includegraphics[scale=0.5]{assets/notifications.png}
    \caption{Eine Auswahl von Benachrichtigungen mit Symbol und Nachricht}
\end{figure}

\newpage
\subsection{Deabonnieren von Podcasts}

Eine der letzten offenen Kann-Kriterien war das Deabonnieren von Podcasts im
Dashboard \textlangle RC2 \textrangle. Dies wurde nun nachgeholt. Dabei
stehen dem Nutzer zwei Optionen zur Verfügung. Die Abonnements können einzeln
über einen Knopf entfernt werden oder es können mehrere Abonnements mit
Checkboxen ausgewählt und dann zusammen gelöscht werden.
Ein weiterer Knopf ermöglicht das gleichzeitige Auswählen aller Abonnements. 

Mit beiden Optionen wird der Nutzer erst über die Folgen des Deabonnierens
in einem Popup-Fenster informiert. Hierbei handelt es sich um den Verlust aller
Hörfortschritte zu den Abonnements. Dabei wird auf dem Pop-Up zu jedem
Abonnement auch die Anzahl der gehörten Episoden aufgelistet. Erst bei Bestätigung
des Popups durch den Benutzer werden die Abonnements und Episoden vom Account entfernt. 

\begin{figure}[H]
    \centering
    \begin{minipage}{.47\textwidth}
        \centering
        \fbox{\includegraphics[width=\textwidth]{assets/select-subscriptions.png}}
        \caption{Auswählen von Abonnements über Checkboxen}
    \end{minipage}
    \hspace{.5cm}
    \begin{minipage}{.47\textwidth}
        \centering
        \includegraphics[width=\textwidth]{assets/unsubscribe-podcasts.png}
        \caption{Übersicht und Bestätigung des Deabonnements}
    \end{minipage}
\end{figure}

