cashless2ecash

cashless2ecash: pay with cards for digital cash (experimental)
Log | Files | Refs | README

commit c74631ca7879bc72ad6add596bf38886d4546f9f
parent efe1f8752b2921b1d013effdf57c55d8c65db3ec
Author: Joel-Haeberli <haebu@rubigen.ch>
Date:   Sun,  9 Jun 2024 13:27:47 +0200

presentation: slides

Diffstat:
Mdocs/content/implementation/a-c2ec.tex | 15+++++++++++++--
Mdocs/content/implementation/b-terminal.tex | 8--------
Mdocs/thesis.pdf | 0
Mpresentation/friday.odp | 0
4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/docs/content/implementation/a-c2ec.tex b/docs/content/implementation/a-c2ec.tex @@ -9,12 +9,23 @@ The diagram in \autoref{fig-diagram-c2ec-apis-sequence} shows the perspective of The implementation of the terminals API can be found in \autoref{sec-implementation-terminal-api}, the bank integration API is documented in \autoref{sec-implementation-bank-integration-api} and the wire gateway API implementation is documented in \autoref{sec-implementation-wire-gateway-api} +\newpage +\KOMAoptions{paper=landscape,pagesize} +\recalctypearea +\thispagestyle{empty} +\newgeometry{left=4cm, right=4cm, top=3cm, bottom=0cm} + \begin{figure}[H] \centering - \includegraphics[width=1.1\textwidth]{pictures/diagrams/c2ec_apis.png} + \includegraphics[width=1.7\textwidth]{pictures/diagrams/c2ec_apis.png} \caption{C2EC and its interactions with various components} \label{fig-diagram-c2ec-apis-sequence} - \end{figure} +\end{figure} + +\restoregeometry +\newpage +\KOMAoptions{paper=portrait,pagesize} +\recalctypearea \subsubsection{Decoupling Withdrawal Steps} diff --git a/docs/content/implementation/b-terminal.tex b/docs/content/implementation/b-terminal.tex @@ -9,13 +9,6 @@ On the amount screen the terminal operator enters the amount to withdraw and cli In the register parameters screen, a QR code is displayed, which must be scanned by the withdrawer using their wallet app. When the user scanned the QR Code and the terminal gets the withdrawal operation in state 'selected' from C2EC, the wallet has successfully registered its withdrawal parameters. In this case the terminal application changes to the authorization screen in which the withdrawing person must authorize the transaction using their credit card (or another supported payment mean). In any other case, the withdrawal operation is aborted and terminated. When the terminals backend sends the response of the authorization to the terminal, it sends the Terminals API of C2EC the confirmation request. This will start the confirmation process of the withdrawal immediately. If the confirmation request is successful, the terminal shows a summary of the transaction. -% \begin{figure}[H] -% \centering -% \includegraphics[width=0.7\textwidth]{pictures/diagrams/terminal_flow.png} -% \caption{The flow of the terminal app} -% \label{fig-diagram-terminal-flow} -% \end{figure} - \newpage \KOMAoptions{paper=landscape,pagesize} \recalctypearea @@ -34,7 +27,6 @@ In the register parameters screen, a QR code is displayed, which must be scanned \KOMAoptions{paper=portrait,pagesize} \recalctypearea - \subsection{Screens} The application is implemented using Jetpack Compose \cite{app-jetpack-compose} and each of the screens described in \autoref{sec-wallee-withdrawal-flow} is implemented as composable screen. This allows to handle the entire withdrawal flow in one single activity and therefore makes state handling easier. For the summary a standalone activity is used. The state is bound to the activity and compose will make sure to rebuild the UI if values change. It also prevents illegal states and that different withdrawals interfere each other. The state is maintained in a view model as described by Android's documentation \cite{app-viewmodel}. The withdrawal activity handles the lifecycle of the view model instance and initializes the routing of the screens using Android's navigation controller as documented \cite{app-navigation}. The navigation integration of Android allows the declarative definition of the in-app routing and is defined at the creation of the withdrawal activity. diff --git a/docs/thesis.pdf b/docs/thesis.pdf Binary files differ. diff --git a/presentation/friday.odp b/presentation/friday.odp Binary files differ.