299 lines
9.2 KiB
Markdown
299 lines
9.2 KiB
Markdown
# 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
|