diff options
Diffstat (limited to '00-pflichtenheft/sections/benutzeroberflaeche.tex')
-rw-r--r-- | 00-pflichtenheft/sections/benutzeroberflaeche.tex | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/00-pflichtenheft/sections/benutzeroberflaeche.tex b/00-pflichtenheft/sections/benutzeroberflaeche.tex new file mode 100644 index 0000000..536ed04 --- /dev/null +++ b/00-pflichtenheft/sections/benutzeroberflaeche.tex @@ -0,0 +1,183 @@ +\section{Benutzeroberfläche} + +Die Synchronisation der \Glspl{podcast} soll über eine Weboberfläche verwalten werden. +Dazu wird eine \Gls{spa} erstellt. Diese kann durch ein +\Gls{responsive}-Design für Desktop- und Mobilgeräte nutzerfreundlich angezeigt +werden. + +Die Navigation erfolgt über eine Navigationsleiste, welche auf jeder +nutzerbezogenen Seite zu sehen ist. Über die Navigationsleiste können über +Knöpfe alle anderen nutzerbezogenen Seiten aufgerufen werden. Über ein +Dropdown-Menu werden Accounteinstellungen und ein Logout-Knopf sichtbar (siehe +Abbildung \ref{fig:listening-progress-account-dropdown}). Ein weiters +Dropdown-Menu erlaubt das Wechseln der Sprache (siehe Abbildung +\ref{fig:podcast-desktop-change-language}). Der ,,Hilfe''-Eintrag öffnet ein +Fenster mit Hilfestellungen (siehe Abbildung \ref{fig:help-desktop}). Durch das +\Gls{responsive}-Design kann die Navigations-Leiste auf Mobilgeräten sich zu +einem Burger-Menu zusammenklappen. + +Die Komponenten der Weboberfläche werden von einem Still-Framework, wie Bootstrap, +benutzt. + +% Übersichtlichkeit wichtig? + +% Webanwendung +% Single-Page-Application +% Responsive +% Navigationsleiste +% Bootstrap + +\subsection{Login} + +Bei der erstmaligen Nutzung des Services wird der Nutzer aufgefordert, sich neu +für die \Gls{podcast}-Synchronisation zu registrieren. Dabei gibt der Nutzer seine +E-Mail und ein Passwort ein. Daraufhin wird dem Nutzer eine E-Mail mit einem +Bestätigungslink an seine E-Mail-Adresse versandt. Erst wenn der Link angeklickt +wird, ist der Account freigeschaltet und der Nutzer wird zur Anmeldeseite +weitergeleitet (siehe Abbildung \ref{fig:login-mobile}). + +Alternativ kann der Nutzer sich auch mit einem Identifikationsbereitsteller, wie +Google oder Facebook registrieren und anmelden. + +Zusätzlich kann der Nutzer beim Anmelden über eine Checkbox einstellen, dass +dieser angemeldet bleiben möchte, sodass sich dieser beim nächsten Aufruf der +Weboberfläche nicht erneut anmelden muss. + +Nach dem Anmelden wird der Nutzer zur \Gls{podcast}-Liste weitergeleitet. + +% Registrieren +% E-Mail und Passwort, E-Mail bestätigung + +% anmelden mit E-Mail und Passwort oder es kann sich auch mit einem +% Identifikations-Bereitsteller (wie Google, Facebook, GitHub) angemeldet +% werden. + +% Angemeldet bleiben + +% Anschließlich auf der Startseite + +\subsection{Podcast-Liste} + +Die Seite der \Gls{podcast}-Liste zeigt eine Liste aller vom Nutzer abonnierten +\Glspl{podcast}. Diese sind danach sortiert, welcher \Gls{podcast} zuletzt +gehört wurde (siehe Abbildung \ref{fig:podcast-desktop-change-language}). + +\Glspl{podcast} können aufgeklappt werden, um \Glspl{episode} inklusive deren Hörfortschritt +anzuzeigen. Die \Glspl{episode} werden nach Veröffentlichungszeitpunkt sortiert. + +% Navigatinsleiste +% Zeigt eine Liste aller vom Nutzer abonnierten Podcasts sortiert nach welcher +% Podcast zuletzt gehört wurde. +% Podcasts können aufgeklappt werden, um Episoden inklusive deren Hörfortschritt +% anzuzueigen. Die Episoden werden nach Veröffentlichungszeitpunkt sortiert. + +\subsection{Zuletzt gehört} + +Die Seite ,,Zuletzt gehört'' zeigt eine Liste der vom Nutzer gehörten +\Glspl{episode} inklusive Hörfortschritt (siehe Abbildung +\ref{fig:listening-progress-account-dropdown}). Die \Glspl{episode} sind danach +sortiert wann sie zuletzt gehört wurden. + +Zusätzlich können die beendeten und angefangenen \Glspl{episode} über ein +Dropdown-Menu auch auf- und absteigend lexikografisch oder nach Hörfortschritt +sortiert werden. + +% \newpage + +\subsection{Einstellungen} + +Auf der Einstellungsseite darf der Nutzer sein Passwort ändern und seinen +Account löschen (siehe Abbildung \ref{fig:settings-mobile-1}). + +Der Nutzer kann seine personenbezogenen Daten, wie abonnierte \Glspl{podcast} und +Hörfortschritte, in eine Datei exportieren, welche der Nutzer herunterladen +kann. Außerdem kann der Nutzer zuvor heruntergeladene Exports wieder +importieren, um zum Beispiel alte abonnierte \Glspl{podcast} wiederherzustellen. + +Zusätzlich kann der Nutzer seine Daten von einer anderen \Gls{gpodder} importieren, +indem er sich in den Einstellungen auf der anderen \Gls{gpodder} anmeldet. + +% Passwort ändern +% Account löschen +% Daten importieren/exportieren +% Daten anderer Gpodder-API importieren + +% \vspace{1cm} + +%===================================================================================% +% https://tex.stackexchange.com/questions/55337/how-to-use-figure-inside-a-minipage % +%===================================================================================% +\hspace{-.5cm} +\begin{minipage}[H]{\linewidth} + %\centering + \begin{minipage}{0.32\linewidth} + \begin{figure}[H] + \fbox{\includegraphics[width=.9\linewidth]{assets/ui/login-mobile.png}} + \setcapindent*{1em} + \caption{Anmeldeseite mit Identitätsbereitsteller\\} + \label{fig:login-mobile} + \end{figure} + \end{minipage} +% \hspace{0.05\linewidth} + \begin{minipage}{0.32\linewidth} + \begin{figure}[H] + \fbox{\includegraphics[width=.9\linewidth]{assets/ui/podcasts-mobile.png}} + \setcapindent*{1em} + \caption{Mobile \Glspl{podcast}-Seite mit Burger-Menu\\} + \label{fig:podcasts-mobile} + \end{figure} + \end{minipage} +% \hspace{0.05\linewidth} + \begin{minipage}{0.32\linewidth} + \begin{figure}[H] + \fbox{\includegraphics[width=.9\linewidth]{assets/ui/listening-progress-mobile.png}} + \setcapindent*{1em} + \caption{Mobile ,,Zuletzt gehört''-Seite mit offenem Burger-Menu} + \label{fig:listening-progress-mobile} + \end{figure} + \end{minipage} +\end{minipage} + +\begin{figure}[H] + \centering + \fbox{\includegraphics[width=.9\linewidth]{assets/ui/podcasts-desktop-change-language.png}} + \caption{\Glspl{podcast}-Seite mit \Glspl{episode} und Sprachauswahl} + \label{fig:podcast-desktop-change-language} +\end{figure} + +\begin{figure}[H] + \centering + \fbox{\includegraphics[width=.9\linewidth]{assets/ui/listening-progess-account-dropdown.png}} + \caption{,,Zuletzt gehört''-Seite mit Fortschrittsbalken und Account-Dropdown} + \label{fig:listening-progress-account-dropdown} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=.87\linewidth]{assets/ui/help-desktop.png} + \caption{Hilfe-Fenster, welches mit dem Menu-Eintrag ,,Hilfe'' geöffnet wird} + \label{fig:help-desktop} +\end{figure} + +\begin{minipage}[H]{.9\linewidth} + \centering + \begin{minipage}{.4\linewidth} + \begin{figure}[H] + \centering + \fbox{\includegraphics[width=.8\linewidth]{assets/ui/settings-mobile-1.png}} + \setcapindent*{1em} + \caption{Einstellungen mit Ändern des Passworts und Gpodder-Verknüpfung} + \label{fig:settings-mobile-1} + \end{figure}% + \end{minipage} + \hspace{.5cm} + \begin{minipage}{.4\linewidth} + \begin{figure}[H] + \fbox{\includegraphics[width=.8\linewidth]{assets/ui/settings-mobile-2.png}} + \setcapindent*{1em} + \caption{Einstellungen mit Datenexport und Accountlöschung\\} + \label{fig:settings-mobile-2} + \end{figure} + \end{minipage} +\end{minipage} + |