From c5d3dfdf005c125cbdca56af360ee74a7ee8f0fc Mon Sep 17 00:00:00 2001 From: Patrick <50352812+Mueller-Patrick@users.noreply.github.com> Date: Sat, 26 Jun 2021 23:09:04 +0200 Subject: [PATCH] Updated Software Architecture Document (SAD) (markdown) --- Software-Architecture-Document-(SAD).md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Software-Architecture-Document-(SAD).md b/Software-Architecture-Document-(SAD).md index 1b28cf8..522e6e2 100644 --- a/Software-Architecture-Document-(SAD).md +++ b/Software-Architecture-Document-(SAD).md @@ -69,6 +69,9 @@ As we use ExpressJS in the backend and Angular in the frontend, we don't have an ## 3. Architectural Goals and Constraints The Frontend and the Backend are split up into different components. The web crawler which will be developed later will be an independent component as well. This ensures maximum maintainability and the option to switch one of these components to a different technology in the future without having to rewrite the whole application. +### Patterns +One of the most important patterns we are using is the Observable / Subscriber Pattern in Angular. This is used to make asynchronous API requests without having the application waiting for the answer and hence blocking the user from doing something different in the meantime. To maintain a clear code structure, we are also using the proxy pattern to extend existing interfaces in TypeScript. + ### Database For the Database we use [mariaDB](https://mariadb.com/) as we already have multiple mariaDB servers up and running which we can use, which saves time because we don't have to set up a new server.