mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-11-22 06:13:57 +00:00
Finishing SAD
parent
a39282ae17
commit
6a6fa7afb4
|
@ -74,10 +74,15 @@ We use [Angular](https://angular.io/) to create a single-page application. This
|
|||
![Use Case](https://github.com/Mueller-Patrick/Betterzon/blob/develop/doku/use-case-betterzon.png)
|
||||
|
||||
## 5. Logical View
|
||||
TODO
|
||||
### Backend
|
||||
The Backend is split into the different API endpoints, allowing for easy understanding. For every endpoint, there is a router class, a service class and some interfaces. The router class handles the incoming requests and sends the responses and the service class is used for accessing the database and performing other checks, such as authorization.
|
||||
### Frontend
|
||||
The components in the frontend are divided into "pages" and "components" with pages being the angular components that build a whole page and components being small template components that can be used on different pages when needed.
|
||||
|
||||
## 6. Process View
|
||||
TODO
|
||||
- When the user opens our page, the angular application is downloaded to the user's computer. By clicking through the pages, the application performs HTTP requests to our backend to load the required data.
|
||||
- If the user wants to add another product, the backend performs a callout to one of our crawling instances, causing it to fetch the required product details.
|
||||
- The nightly crawling process is centrally triggered from one crawler load balancing instance. This instance sends requests to the normal crawler instances, distributing the crawling tasks across all available instances.
|
||||
|
||||
## 7. Deployment View
|
||||
![Deployment View](https://github.com/Mueller-Patrick/Betterzon/blob/master/doku/Deployment_View.png)
|
||||
|
@ -86,7 +91,7 @@ TODO
|
|||
![Database View](https://github.com/Mueller-Patrick/Betterzon/blob/master/doku/ERM.png)
|
||||
|
||||
## 10. Size and Performance
|
||||
n/a
|
||||
The service runs distributed on two smaller vServers, so the performance will be anti-proportional to the amount of users. Given however that this is a smaller platform with an expected user count not exceeding 1000 per day, there shouldn't arise any performance difficulties.
|
||||
|
||||
## 11. Quality/Metrics
|
||||
We use Jenkins as CI/CD server. Our Jenkins instance fullfills two purposes:
|
||||
|
|
Loading…
Reference in New Issue
Block a user