Archive: System v4 - Estado al 2024-12-24
This commit is contained in:
298
v4-archive/corp/README.md
Normal file
298
v4-archive/corp/README.md
Normal file
@@ -0,0 +1,298 @@
|
||||
# CORP
|
||||
|
||||
**Servidor Empresarial - Ecosistema TZZR**
|
||||
|
||||
## Servidor
|
||||
|
||||
- **IP**: 92.112.181.188
|
||||
- **Dominio**: tzzrcorp.me
|
||||
- **SSH**: Autenticación por key (no password)
|
||||
- **Acceso**: `ssh -i ~/.ssh/id_ed25519_server root@92.112.181.188`
|
||||
|
||||
## Servicios Activos (Actualizado 2025-12-23)
|
||||
|
||||
| Servicio | URL | Puerto | Estado |
|
||||
|----------|-----|--------|--------|
|
||||
| Directus | https://directus.tzzrcorp.me | 8055 | OK |
|
||||
| Nextcloud | https://nextcloud.tzzrcorp.me | 8080 | OK |
|
||||
| Vaultwarden | https://vault.tzzrcorp.me | 8081 | OK |
|
||||
| Shlink | https://shlink.tzzrcorp.me | 8082 | OK |
|
||||
| Addy | https://addy.tzzrcorp.me | 8083 | OK |
|
||||
| Odoo | https://erp.tzzrcorp.me | 8069 | OK |
|
||||
| ntfy | https://ntfy.tzzrcorp.me | 8880 | OK |
|
||||
| HSU API | https://hsu.tzzrcorp.me | 5002 | OK |
|
||||
| Redis | (interno) | 6379 | OK |
|
||||
| PostgreSQL | (interno) | 5432 | OK |
|
||||
| Caddy | (proxy) | 80/443 | OK |
|
||||
|
||||
### Directus (Admin)
|
||||
|
||||
```
|
||||
URL: https://directus.tzzrcorp.me
|
||||
Admin: admin@tzzr.me
|
||||
Pass: directus_corp_2024
|
||||
```
|
||||
|
||||
### Nextcloud
|
||||
|
||||
```
|
||||
URL: https://nextcloud.tzzrcorp.me
|
||||
Admin: admin
|
||||
Pass: nextcloud_corp_2024
|
||||
```
|
||||
|
||||
### HSU API (Biblioteca Usuario)
|
||||
|
||||
```
|
||||
URL: https://hsu.tzzrcorp.me/api/biblioteca
|
||||
PIN: 123456
|
||||
```
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
```
|
||||
Host: localhost
|
||||
Port: 5432
|
||||
User: corp
|
||||
Password: corp
|
||||
```
|
||||
|
||||
### Bases de datos
|
||||
|
||||
| DB | Uso |
|
||||
|----|-----|
|
||||
| corp | Principal, Directus |
|
||||
| nextcloud | Nextcloud |
|
||||
| shlink | Shlink |
|
||||
| odoo | Odoo ERP |
|
||||
|
||||
### Tablas de Negocio
|
||||
|
||||
| Tabla | Descripción |
|
||||
|-------|-------------|
|
||||
| hst_mirror | Mirror de tags HST |
|
||||
| hsu | Tags de usuario |
|
||||
| flu | Tags de flujo |
|
||||
| pju | Tags de proyecto |
|
||||
| spu | Tags de sistema |
|
||||
| vsu | Tags de vista |
|
||||
| vuu | Tags de usuario vista |
|
||||
|
||||
## Migraciones Completadas
|
||||
|
||||
### NocoDB → Directus (2025-12-23)
|
||||
|
||||
- [x] NocoDB reemplazado por Directus
|
||||
- [x] Nextcloud instalado
|
||||
- [x] HSU API implementada
|
||||
- [x] Caddy como reverse proxy con SSL
|
||||
|
||||
## DNS (tzzrcorp.me)
|
||||
|
||||
```zone
|
||||
@ A 92.112.181.188
|
||||
directus A 92.112.181.188
|
||||
nextcloud A 92.112.181.188
|
||||
vault A 92.112.181.188
|
||||
shlink A 92.112.181.188
|
||||
addy A 92.112.181.188
|
||||
erp A 92.112.181.188
|
||||
ntfy A 92.112.181.188
|
||||
hsu A 92.112.181.188
|
||||
db A 92.112.181.188
|
||||
```
|
||||
|
||||
## Descripción
|
||||
|
||||
CORP es el **servidor empresarial** que gestiona la información de negocios. Cada empresa tiene sus propios datos aislados: clientes, productos, pedidos, facturas, y métricas.
|
||||
|
||||
## Arquitectura
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ CORP │
|
||||
│ (Servidor Empresarial) │
|
||||
├─────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ MIND │ │ WINDMILL │ │ ODOO │ │
|
||||
│ │ LINK │ │ (Workflows)│ │ (ERP) │ │
|
||||
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
||||
│ │ │ │ │
|
||||
│ └────────────────┼────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌──────┴──────┐ │
|
||||
│ │ CLARA │ ← Director Completo │
|
||||
│ │ +MASON │ │
|
||||
│ │ +NOTARIO │ │
|
||||
│ │ +SENTINEL │ │
|
||||
│ └──────┬──────┘ │
|
||||
│ │ │
|
||||
│ ┌───────────────────────┼───────────────────────┐ │
|
||||
│ │ PostgreSQL + Directus │ │
|
||||
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
|
||||
│ │ │Clientes│ │Productos│ │Pedidos │ │Facturas│ │ │
|
||||
│ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │
|
||||
│ └───────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Simulación: TZZR Tailoring
|
||||
|
||||
CORP simula una **startup de sastrería** a medida:
|
||||
|
||||
### Modelo de Negocio
|
||||
|
||||
- **Producto**: Trajes MTM (Made-to-Measure) importados de China
|
||||
- **Precio**: €299-499 (mercado: €800-1500)
|
||||
- **Margen**: ~300%
|
||||
- **Canal**: Online + cita previa
|
||||
|
||||
### Datos Iniciales
|
||||
|
||||
```
|
||||
Capital inicial: €5,000
|
||||
Burn mensual: €600
|
||||
Runway: 8.3 meses
|
||||
|
||||
Productos:
|
||||
- Traje Negro Clásico: €299 (coste: €85)
|
||||
- Traje Azul Marino: €349 (coste: €95)
|
||||
- Traje Gris Medio: €329 (coste: €90)
|
||||
- Traje Gris Oscuro: €379 (coste: €100)
|
||||
```
|
||||
|
||||
## Tablas Principales
|
||||
|
||||
```sql
|
||||
corp_config -- Configuración de empresa
|
||||
corp_productos -- Catálogo de productos
|
||||
corp_clientes -- Clientes con historial
|
||||
corp_medidas -- Medidas de clientes
|
||||
corp_pedidos -- Pedidos con estado
|
||||
corp_pedido_lineas -- Líneas de pedido
|
||||
corp_facturas -- Facturas certificadas
|
||||
corp_transacciones -- Ingresos y gastos
|
||||
corp_metricas -- Métricas diarias
|
||||
corp_tareas -- Workflow de tareas
|
||||
corp_ia_solicitudes -- Peticiones a FACTORY
|
||||
```
|
||||
|
||||
## Flujos de Negocio
|
||||
|
||||
### Nuevo Pedido
|
||||
|
||||
```
|
||||
1. Cliente solicita → crear cliente si nuevo
|
||||
2. Tomar medidas → guardar en corp_medidas
|
||||
3. Crear pedido → generar número ORD-YYYY-XXXX
|
||||
4. Confirmar pago → registrar transacción
|
||||
5. Enviar a fábrica → actualizar estado
|
||||
6. Recibir producto → crear BCK (foto)
|
||||
7. Entregar → generar factura
|
||||
```
|
||||
|
||||
### Generar Factura
|
||||
|
||||
```
|
||||
1. Pedido completado
|
||||
│
|
||||
▼
|
||||
2. CLARA.handleDocumentGeneration()
|
||||
│
|
||||
▼
|
||||
3. MASON prepara datos (cliente, productos, totales)
|
||||
│
|
||||
▼
|
||||
4. FACTORY genera PDF iterativamente
|
||||
│
|
||||
▼
|
||||
5. NOTARIO certifica (hash + timestamp)
|
||||
│
|
||||
▼
|
||||
6. LOCKER almacena (locker://corp/facturas/FAC-2025-0001.pdf)
|
||||
│
|
||||
▼
|
||||
7. Enviar por email
|
||||
```
|
||||
|
||||
## Windmill Workflows
|
||||
|
||||
| Workflow | Trigger | Acción |
|
||||
|----------|---------|--------|
|
||||
| New Order | Webhook | Crea pedido → envía confirmación |
|
||||
| Generate Invoice | Webhook | FACTORY genera → NOTARIO certifica |
|
||||
| Daily Metrics | Cron | Calcula métricas del día |
|
||||
| Low Stock Alert | Cron | Notifica productos bajo stock |
|
||||
|
||||
## Vistas Útiles
|
||||
|
||||
```sql
|
||||
-- Dashboard financiero
|
||||
v_corp_dashboard_financiero
|
||||
→ capital_inicial, ingresos, gastos, caja_actual, runway_meses
|
||||
|
||||
-- Pedidos con detalle
|
||||
v_corp_pedidos_detalle
|
||||
→ numero, cliente, estado, total, num_lineas
|
||||
|
||||
-- Facturas pendientes
|
||||
v_corp_facturas_pendientes
|
||||
→ numero, cliente, total, dias_vencido
|
||||
|
||||
-- Stock bajo
|
||||
v_corp_stock_bajo
|
||||
→ sku, nombre, stock, stock_minimo
|
||||
```
|
||||
|
||||
## Template Clonable
|
||||
|
||||
CORP puede clonarse para un nuevo negocio:
|
||||
|
||||
```bash
|
||||
# Usar template
|
||||
psql -U tzzr -d nueva_empresa -f templates/corp-template.sql
|
||||
|
||||
# Reemplazar variables
|
||||
sed -i 's/{{COMPANY_NAME}}/Mi Empresa/g' ...
|
||||
sed -i 's/{{INITIAL_CAPITAL}}/10000/g' ...
|
||||
```
|
||||
|
||||
## Estructura
|
||||
|
||||
```
|
||||
corp/
|
||||
├── database/
|
||||
│ ├── corp-schema.sql
|
||||
│ └── corp-template.sql
|
||||
├── docker/
|
||||
│ └── docker-compose.yml
|
||||
├── windmill/
|
||||
│ ├── new-order.yaml
|
||||
│ └── generate-invoice.yaml
|
||||
├── docs/
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Repositorios Relacionados
|
||||
|
||||
| Repo | Rol |
|
||||
|------|-----|
|
||||
| [clara](https://github.com/tzzrgit/clara) | Orquestador de CORP |
|
||||
| [deck](https://github.com/tzzrgit/deck) | Equivalente personal |
|
||||
| [the-factory](https://github.com/tzzrgit/the-factory) | Genera documentos |
|
||||
| [notario](https://github.com/tzzrgit/notario) | Certifica facturas |
|
||||
| [locker](https://github.com/tzzrgit/locker) | Almacena documentos |
|
||||
| [contable](https://github.com/tzzrgit/contable) | Libros contables |
|
||||
|
||||
## Roadmap
|
||||
|
||||
- [x] Schema PostgreSQL
|
||||
- [x] Template clonable
|
||||
- [x] CLARA orquestador
|
||||
- [x] Windmill workflows
|
||||
- [ ] Integración Odoo
|
||||
- [ ] Multi-empresa
|
||||
- [ ] Reportes automáticos
|
||||
- [ ] Facturación electrónica
|
||||
Reference in New Issue
Block a user