\section{Future work}\label{future_work}

\subsection{Client implementation}\label{client_implementation}
The donor client implementation needs to be implemented in the Taler wallet.
This is a necessary step to be able to use the Donau together with the Taler
payment system. Then donations could be made fully anonymous. The necessary
functionality must be implemented in the \texttt{taler-wallet-core}. This
includes the option to make donations and request for the final donation
statement. If the donor wants to be able to deduct the donations from taxes,
the user is asked to input his tax number. Hidden from the user are the
generation of the various elements such as \texttt{DI}, \texttt{UDI},
\texttt{BUDI} and \texttt{BKP}. The blinding and unblinding implementation must
also be present.

\subsection{Charity backend}\label{charity_backend}
Each registered charity needs to communicate with the donors and the Donau. The
Taler merchant backend needs to be modified to incorporate the charity backend
logic. To do this it is necessary to add a charity information table to the
merchant database. This table should contain information like the charity
public key, domain, base URL, currency and instance. The instance being a
number as there could be different instances running. The merchant backend
needs to be extended to incorporate the charity logic. Meaning the signing of
BKP's sent to the charity and also the communication with the donor. The
charity should return a list of Donaus where the charity is registered, so that
the donor can choose the appropriate Donau for tax deduction. A system similar
to the one described in the thesis of Christian Blättler is to be implemented \cite{taler-sub}.

\subsection{Donau SPA}\label{donau_spa}
For the administrator a single page application is needed to comfortably manage
the charities. This would include functionality to add, remove and modify
charities. This setup could include a reverse proxy, which authenticates the
Donau admin. Once the identity has been confirmed the proxy can access the
Donau endpoint to manage a charity. The proxy would hold a bearer token, in
order to authenticate itself.
