mirror of
https://github.com/cursos-uai/sap_tfi_2026.git
synced 2026-07-31 20:48:30 -03:00
feat(initial-iteration): primera iteración ICONIX del flujo venta→factura→pago
Documentación generada: - 7 casos de uso (CU-VEN-001, CU-VEN-004, CU-ENT-002, CU-ENT-004, CU-FAC-001, CU-FAC-002, CU-FAC-003) - Modelo de dominio inicial (12 conceptos, 9 reglas de negocio) - Arquitectura general (C4 contexto + contenedores) - Prototipo del formulario de presupuesto - 5 diagramas PlantUML (.puml): - Diagrama general de casos de uso - Modelo de dominio conceptual - Diagrama de robustez de CU-VEN-004 - Diagrama de secuencia de CU-VEN-004 - Diagrama de clases técnicas (integración Venta/Stock/Contabilidad) - Matriz de trazabilidad con 20 EV-COD y 22 EV-INF Odoo analizado: 19.0 Community (rama 19.0) Método: ingeniería inversa con verificación de código fuente Nota: NO pushear (gate S2). Ale debe revisar antes de merge a main.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Arquitectura General del Proyecto SAP-TFI-2026
|
||||
|
||||
## Nivel C4: Contexto
|
||||
|
||||
```
|
||||
[Usuario] ───usa───> [Sistema Odoo 19]
|
||||
│
|
||||
│──consulta──> [PostgreSQL]
|
||||
│
|
||||
│──envía──> [Servicio de Email]
|
||||
│
|
||||
│──integra──> [Servicio de Pago]
|
||||
```
|
||||
|
||||
### Actores externos
|
||||
|
||||
- **Usuario**: persona que opera Odoo (vendedor, operador de almacén, facturador).
|
||||
- **Servicio de Email**: SMTP relay para envío de correos de presupuestos y confirmaciones.
|
||||
- **Servicio de Pago**: pasarela de pago externa (integrable vía módulos).
|
||||
- **PostgreSQL**: base de datos relacional que persiste todos los datos.
|
||||
|
||||
## Nivel C4: Contenedores
|
||||
|
||||
```
|
||||
[Cliente Web (navegador)]
|
||||
│
|
||||
│ HTTPS
|
||||
↓
|
||||
[Servidor Odoo]
|
||||
├── [Módulo sale] (Python)
|
||||
├── [Módulo account] (Python)
|
||||
├── [Módulo stock] (Python)
|
||||
├── [Módulo product] (Python)
|
||||
├── [Módulo mail] (Python)
|
||||
├── [Módulo delivery] (Python)
|
||||
└── [ORM Odoo]
|
||||
│
|
||||
│ conexión nativa
|
||||
↓
|
||||
[PostgreSQL]
|
||||
```
|
||||
|
||||
### Componentes principales
|
||||
|
||||
| Componente | Descripción | Tecnología |
|
||||
|------------|-------------|------------|
|
||||
| Cliente Web | Interfaz de usuario | HTML/CSS/JS (servido por Odoo) |
|
||||
| Servidor Odoo | Aplicación principal | Python + Odoo Framework |
|
||||
| Módulo sale | Lógica de ventas | Python |
|
||||
| Módulo account | Lógica contable | Python |
|
||||
| Módulo stock | Lógica de inventario | Python |
|
||||
| Módulo product | Lógica de productos | Python |
|
||||
| Módulo mail | Comunicación (correos) | Python |
|
||||
| Módulo delivery | Logística de entrega | Python |
|
||||
| ORM Odoo | Capa de abstracción de datos | Python |
|
||||
| PostgreSQL | Almacenamiento persistente | C |
|
||||
|
||||
## Diagrama PlantUML
|
||||
|
||||
Ver `diagrams/plantuml/d_arq_gen_001_arquitectura_general.puml`.
|
||||
|
||||
## Reglas arquitectónicas
|
||||
|
||||
- **RN-ARQ-001**: El servidor Odoo es el único punto de entrada al sistema.
|
||||
- **RN-ARQ-002**: Toda la persistencia se realiza vía ORM Odoo (no acceso directo a DB).
|
||||
- **RN-ARQ-003**: Los módulos extienden funcionalidad vía `_inherit` (ver `addons/sale/models/sale_order.py:36`).
|
||||
|
||||
## Pendientes de validación
|
||||
|
||||
- **EV-INF-019**: La arquitectura refleja la versión Community. Enterprise tendría módulos adicionales (`sale_subscription`, `sale_timesheet`, etc.).
|
||||
- **EV-INF-020**: La integración con pasarela de pago no fue verificada en detalle.
|
||||
Reference in New Issue
Block a user