This commit is contained in:
2025-08-04 14:10:09 +02:00
parent 00714ea68f
commit 06661acf10
2 changed files with 33 additions and 2 deletions

View File

@@ -112,10 +112,29 @@ As a cloud-native approach, we will take blob storage as a service-independent m
- __IBM Cloud Object Storage:__ Enterprise-grade, scalable object storage.
- __MinIO:__ Self-hosted, S3-compatible object storage solution for on-premises or private cloud.
#### Arquitectura del sistema
#### System Architecture
![Diagram of the conections between the described componentes. Frontend connected to BFF, BFF connected to BlobProvider, BFF connected to Backend, Backend connected to DataProvider and Backend connected to Identity provider.](docs/architecturalComponentLayout.svg)
At system level, since identity and data providers are not controlled parts, there are three main components:
- Frontend
- BFF
- Backend
Frontend will speak ONLY with BFF via REST comands. Only sensible data will be encrypted via AES.
Frontend will GET lazily all the images for galleries.
BFF will redirect GET image requests to configured CDN or will serve them if no CDN is configured.
BFF will cache repeated and critical requests.
BFF will redirect to Backend in case of user creation, login or update; selling activity as booking or buying; image creation, edition or delete.
Backend will contact Identity Providers such as Google or Instagram at login time.
Backend will generate and validate login tokens.
Backend will create, retrieve, edit and delete user and image data.
Since frontend will be device dependant at a future, BFF will give flexibility for identifying client users.
---
### Glossary
@@ -147,3 +166,15 @@ __EntityFramework:__ An object-relational mapper (ORM) for .NET, used to interac
__Blob Storage:__ A service for storing large amounts of unstructured data, such as images, videos, and documents.
__Plug-and-play architecture:__ A design approach that allows components to be easily added, removed, or replaced without affecting the rest of the system.
__CDN (Content Delivery Network):__ A network of servers distributed geographically to deliver content more efficiently to users based on their location.
__AES (Advanced Encryption Standard):__ A symmetric encryption algorithm widely used for securing sensitive data.
__REST (Representational State Transfer):__ An architectural style for designing networked applications, often used for APIs.
__DAPR (Distributed Application Runtime):__ A runtime that simplifies building distributed systems by providing APIs for common tasks like state management and pub/sub messaging.
__Edge Computing:__ A distributed computing paradigm that brings computation and data storage closer to the location where it is needed to improve response times and save bandwidth.
__Parallel Processing:__ A method of processing data in which multiple processors execute tasks simultaneously to increase efficiency and performance.