Name
master
master
v
0.0.0
BEGamer Components
Plataforma para buscar, comparar y comprar hardware.
Info
Context views
Container views
Component views
Dependencies
API Backend
BEGamer Components - API Backend - Components
BEGamer Components - API Backend - Components
API Backend
[container]
Cart
Router
[FastAPI
APIRouter]
Maneja
endpoints
CRUD
del
carrito
temporal.
Cart
Service
[Python
Module]
Orquesta
lógica
del
carrito
y
la
fusión
(merge)
de
cuentas.
Cart
Identifier
[FastAPI
Depends]
Extrae
la
identidad
del
usuario
(Token
o
X-Guest-Session-ID).
Redis
Client
[redis.asyncio]
Conexión
asíncrona
a
Redis
mediante
ConnectionPool.
Catalog
Router
[FastAPI
APIRouter]
Maneja
endpoints
de
catálogo
e
imágenes.
Catalog
Service
[Python
Module]
Orquesta
el
CRUD
de
catálogo.
S3
Client
[Boto3]
Envoltura
para
el
SDK
de
AWS.
Catalog
Repository
[SQLModel]
Actualiza/lee
las
tablas
de
catálogo.
Auth
Router
[FastAPI
APIRouter]
Maneja
el
login
y
emite
JWT.
Cliente
Persona
interesada
en
armar
o
mejorar
su
PC.
Administrador
Gestiona
el
stock
y
los
precios
de
componentes.
Base
de
Datos
[PostgreSQL
15-alpine]
Almacena
usuarios,
productos,
etc.
Caché
y
Carrito
[Redis
7-alpine]
Almacena
datos
temporales.
AWS
S3
Almacena
imágenes.
Sube/elimina
imagen
[HTTPS/Multipart]
Envía
archivo
binario
o
la
url
de
una
imagen
existente
[Async]
Pasa
DTO
con
nueva
URL
o
id
de
la
imagen
[Async]
Actualiza
registro
[Method
Call]
Sube/elimina
objeto
[HTTPS
/
AWS
API]
Ejecuta
UPDATE/DELETE
[SQLModel]
Añade/modifica
items
(POST
/items,
PATCH...)
[HTTPS/JSON]
Inyecta
dependencia
para
saber
si
es
Guest
o
User
[Inyección]
Pasa
datos
y
delega
lógica
[Llamada
asíncrona]
Calcula
TTL
y
ejecuta
comandos
(HSET,
HGETALL)
[Llamada
asíncrona]
Mueve
items
de
la
key
'guest'
a
la
key
'user'
y
borra
la
vieja
[Llamada
asíncrona]
Inicia
sesión
enviando
credenciales
y
X-Guest-Session-ID
[HTTPS/JSON]
Encola
tarea
en
segundo
plano
(merge_guest_cart...)
[FastAPI
BackgroundTasks]
Ejecuta
transacciones
en
memoria
[TCP/RESP]
Legend
▯
person
▯
system
▯
container
▯
component
▯
container boundary
BEGamer Components - API Backend - Components
Diagrama de componentes de la API Backend (Gestión de ImÔgenes)
BEGamer Components - API Backend - Components
BEGamer Components - API Backend - Components
API Backend
[container]
Cart
Router
[FastAPI
APIRouter]
Maneja
endpoints
CRUD
del
carrito
temporal.
Cart
Service
[Python
Module]
Orquesta
lógica
del
carrito
y
la
fusión
(merge)
de
cuentas.
Cart
Identifier
[FastAPI
Depends]
Extrae
la
identidad
del
usuario
(Token
o
X-Guest-Session-ID).
Redis
Client
[redis.asyncio]
Conexión
asíncrona
a
Redis
mediante
ConnectionPool.
Catalog
Router
[FastAPI
APIRouter]
Maneja
endpoints
de
catálogo
e
imágenes.
Catalog
Service
[Python
Module]
Orquesta
el
CRUD
de
catálogo.
S3
Client
[Boto3]
Envoltura
para
el
SDK
de
AWS.
Catalog
Repository
[SQLModel]
Actualiza/lee
las
tablas
de
catálogo.
Auth
Router
[FastAPI
APIRouter]
Maneja
el
login
y
emite
JWT.
Cliente
Persona
interesada
en
armar
o
mejorar
su
PC.
Administrador
Gestiona
el
stock
y
los
precios
de
componentes.
Base
de
Datos
[PostgreSQL
15-alpine]
Almacena
usuarios,
productos,
etc.
Caché
y
Carrito
[Redis
7-alpine]
Almacena
datos
temporales.
AWS
S3
Almacena
imágenes.
Sube/elimina
imagen
[HTTPS/Multipart]
Envía
archivo
binario
o
la
url
de
una
imagen
existente
[Async]
Pasa
DTO
con
nueva
URL
o
id
de
la
imagen
[Async]
Actualiza
registro
[Method
Call]
Sube/elimina
objeto
[HTTPS
/
AWS
API]
Ejecuta
UPDATE/DELETE
[SQLModel]
Añade/modifica
items
(POST
/items,
PATCH...)
[HTTPS/JSON]
Inyecta
dependencia
para
saber
si
es
Guest
o
User
[Inyección]
Pasa
datos
y
delega
lógica
[Llamada
asíncrona]
Calcula
TTL
y
ejecuta
comandos
(HSET,
HGETALL)
[Llamada
asíncrona]
Mueve
items
de
la
key
'guest'
a
la
key
'user'
y
borra
la
vieja
[Llamada
asíncrona]
Inicia
sesión
enviando
credenciales
y
X-Guest-Session-ID
[HTTPS/JSON]
Encola
tarea
en
segundo
plano
(merge_guest_cart...)
[FastAPI
BackgroundTasks]
Ejecuta
transacciones
en
memoria
[TCP/RESP]
Legend
▯
person
▯
system
▯
container
▯
component
▯
container boundary
BEGamer Components - API Backend - Components [
svg
|
png
|
puml
]