From 7fcdc1c788725f866de71fc9dfd8c4d1cb132b57 Mon Sep 17 00:00:00 2001 From: Orangerot Date: Fri, 24 May 2024 17:42:08 +0200 Subject: Initial commit --- 11-entwurfsheft-kolloquium/slides/apiExtension.tex | 39 +++++++++++++++ 11-entwurfsheft-kolloquium/slides/architecture.tex | 7 +++ 11-entwurfsheft-kolloquium/slides/changes.tex | 22 +++++++++ 11-entwurfsheft-kolloquium/slides/classdiagram.tex | 57 ++++++++++++++++++++++ 11-entwurfsheft-kolloquium/slides/frontend.tex | 21 ++++++++ 11-entwurfsheft-kolloquium/slides/pattern.tex | 26 ++++++++++ 11-entwurfsheft-kolloquium/slides/sequence.tex | 7 +++ 7 files changed, 179 insertions(+) create mode 100644 11-entwurfsheft-kolloquium/slides/apiExtension.tex create mode 100644 11-entwurfsheft-kolloquium/slides/architecture.tex create mode 100644 11-entwurfsheft-kolloquium/slides/changes.tex create mode 100644 11-entwurfsheft-kolloquium/slides/classdiagram.tex create mode 100644 11-entwurfsheft-kolloquium/slides/frontend.tex create mode 100644 11-entwurfsheft-kolloquium/slides/pattern.tex create mode 100644 11-entwurfsheft-kolloquium/slides/sequence.tex (limited to '11-entwurfsheft-kolloquium/slides') diff --git a/11-entwurfsheft-kolloquium/slides/apiExtension.tex b/11-entwurfsheft-kolloquium/slides/apiExtension.tex new file mode 100644 index 0000000..df1c027 --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/apiExtension.tex @@ -0,0 +1,39 @@ +\begin{frame}{API Erweiterung} + + \begin{columns}[t] + \begin{column}{.3\textwidth} + \centering{\fontsize{30pt}{36pt}\selectfont\faLock} + \vspace{.2cm} + \begin{orangeblock}{Authentication} + \begin{itemize} + \item Registrierung + \item Passwort ändern + \item Passwort vergessen + \item Passwort zurücksetzen + \item Account löschen + \end{itemize} + \end{orangeblock} + \end{column} + \begin{column}{.3\textwidth} + \centering{\fontsize{30pt}{36pt}\selectfont\faDownload} + \vspace{.2cm} + \begin{greenblock}{Subscriptions} + \begin{itemize} + \item Abrufen der Informationen aller Abonnements + \end{itemize} + \end{greenblock} + \end{column} + \begin{column}{.3\textwidth} + \centering{\fontsize{30pt}{36pt}\selectfont\faSpinner} + \vspace{.2cm} + \begin{blueblock}{Episode Actions} + \begin{itemize} + \item Episode Actions hochladen + \item Episode Actions abrufen + \end{itemize} + \end{blueblock} + \end{column} + \end{columns} + +\end{frame} + diff --git a/11-entwurfsheft-kolloquium/slides/architecture.tex b/11-entwurfsheft-kolloquium/slides/architecture.tex new file mode 100644 index 0000000..edd9f1b --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/architecture.tex @@ -0,0 +1,7 @@ +\begin{frame}{Architektur} + + \begin{figure}[h] + \includegraphics[width=0.73\textwidth]{assets/diagrams/backendComponentDiagram} + \end{figure} + +\end{frame} \ No newline at end of file diff --git a/11-entwurfsheft-kolloquium/slides/changes.tex b/11-entwurfsheft-kolloquium/slides/changes.tex new file mode 100644 index 0000000..b3ba6de --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/changes.tex @@ -0,0 +1,22 @@ +\begin{frame}[t]{Änderungen Pflichtenheft} + + \begin{block}{Neue Kriterien} + \begin{itemize} + \item \textlangle RS11\textrangle \, Cooldown Fetch-Vorgang + \item \textlangle RC13\textrangle \, Sprache von Browserinformationen + \end{itemize} + \end{block} + + \begin{blueblock}{Abgeänderte Kriterien} + \begin{itemize} + \item \textlangle RS10\textrangle \, Sessions mit JSON Web Token + \end{itemize} + \end{blueblock} + + \begin{maroonblock}{Entfernte Kriterien} + \begin{itemize} + \item \textlangle RC5\textrangle \, Frontend kompatibel mit beliebigen Gpodder APIs + \end{itemize} + \end{maroonblock} + +\end{frame} diff --git a/11-entwurfsheft-kolloquium/slides/classdiagram.tex b/11-entwurfsheft-kolloquium/slides/classdiagram.tex new file mode 100644 index 0000000..aeecec0 --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/classdiagram.tex @@ -0,0 +1,57 @@ +\begin{frame}[t]{Überblick: Klassendiagramm} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/classdiagram} + \vspace{.3cm} + \begin{greenblock}{Abhängigkeiten} + \vspace{-.2cm} + \begin{columns} + \begin{column}{.4\textwidth} + \begin{itemize} + \item Spring Web + \item Spring Security + \item Spring Mail Sender + \end{itemize} + \end{column} + \begin{column}{.4\textwidth} + \begin{itemize} + \item Spring Data JPA + \item Lombok + \item Rome (RSS parsing/fetching) + \end{itemize} + \end{column} + \end{columns} + + \end{greenblock} +\end{frame} + +% sub +% episode +% auth +% model +% util + +\begin{frame}[t]{Subscriptions-API} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/classdiagram-subscriptions} +\end{frame} + +\begin{frame}[t]{EpisodeActions-API} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/classdiagram-episode-actions} +\end{frame} + +\begin{frame}[t]{Authentication-API} + \centering + \includegraphics[width=.73\textwidth]{assets/diagrams/classdiagram-authentication} +\end{frame} + +\begin{frame}[t]{Model-Paket} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/classdiagram-model} +\end{frame} + +\begin{frame}[t]{Util-Paket} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/classdiagram-util} +\end{frame} + diff --git a/11-entwurfsheft-kolloquium/slides/frontend.tex b/11-entwurfsheft-kolloquium/slides/frontend.tex new file mode 100644 index 0000000..c49d94f --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/frontend.tex @@ -0,0 +1,21 @@ +\begin{frame}{Weboberfläche} + \begin{minipage}{.77\textwidth} + \centering + \includegraphics[width=\textwidth]{assets/diagrams/componentdiagram} + \end{minipage} + \hspace{.3cm} + \begin{minipage}{.18\textwidth} + \begin{greenblock}{Abhängigkeiten} + \begin{itemize} + \item vite + \item vue + \item vue-router + \item Pinia + \item bootstrap + \item fontawesome + \item vue-i18n + \end{itemize} + \end{greenblock} + \end{minipage} +\end{frame} + diff --git a/11-entwurfsheft-kolloquium/slides/pattern.tex b/11-entwurfsheft-kolloquium/slides/pattern.tex new file mode 100644 index 0000000..1f6366e --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/pattern.tex @@ -0,0 +1,26 @@ +\begin{frame}{Entwurfsmuster} + \begin{columns}[t] + \column{.5\textwidth} + \centering{\fontsize{30pt}{36pt}\selectfont\faSyringe} + \begin{greenblock}{Dependency Injection} + \begin{itemize} + \item Bestimmt Abhängigkeiten in Klassen + \item Speichert Instanzen dieser Abhängigkeiten an zentralem Ort + % Wichtig für Interface Abhängigkeiten: + \item Instanz in Konfiguration festlegbar + \item Setzt Instanzen während der Laufzeit an benötigter Stelle ein + \end{itemize} + \end{greenblock} + \column{.5\textwidth} + \centering{\fontsize{30pt}{36pt}\selectfont\faDatabase} + \begin{blueblock}{Data Access Object (DAO)} + \color{kit-blue100} + \begin{itemize} + \item DAO-Interface als Schnittstelle zwischen Geschäftslogik und Datenzugriffslogik + \item DAO-Implementierungen als Varianten der Datenzugriffslogik (MariaDB, MySQL, etc.) + \item[$\Rightarrow$] Austauschbare Implementierungen + \end{itemize} + \end{blueblock} + \end{columns} +\end{frame} + diff --git a/11-entwurfsheft-kolloquium/slides/sequence.tex b/11-entwurfsheft-kolloquium/slides/sequence.tex new file mode 100644 index 0000000..393e502 --- /dev/null +++ b/11-entwurfsheft-kolloquium/slides/sequence.tex @@ -0,0 +1,7 @@ +\begin{frame}{Abläufe: Abrufen aller Abonnements} + + \begin{figure}[h] + \includegraphics[width=0.83\textwidth]{assets/diagrams/sequencediagram-getSubscriptions} + \end{figure} + +\end{frame} \ No newline at end of file -- cgit v1.2.3