[INTEGRATION] F4: Crear _definitions/ y _quick/ (independiente, 18 módulos)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5a49ad0185
commit
67f5bb830d
56
docs/_MAP.md
56
docs/_MAP.md
@ -28,6 +28,20 @@
|
||||
```
|
||||
docs/
|
||||
├── _MAP.md <- ESTE ARCHIVO
|
||||
│
|
||||
├── _definitions/ <- DEFINICIONES CANONICAS
|
||||
│ ├── _INDEX.yml <- Indice de definiciones (@MCH_DEF_*)
|
||||
│ ├── DATABASE-SCHEMA.md <- Schema BD (@MCH_DEF_DB)
|
||||
│ ├── ENTITIES-CATALOG.md <- Catalogo entities (@MCH_DEF_ENTITIES)
|
||||
│ ├── MODULES-CATALOG.md <- Catalogo modulos (@MCH_DEF_MODULES)
|
||||
│ └── SERVICES-CATALOG.md <- Catalogo services (@MCH_DEF_SERVICES)
|
||||
│
|
||||
├── _quick/ <- NAVEGACION RAPIDA
|
||||
│ ├── QUICK-INDEX.yml <- Indice navegacion rapida
|
||||
│ ├── QUICK-API.yml <- Referencia rapida API endpoints
|
||||
│ ├── QUICK-DATABASE.yml <- Referencia rapida BD
|
||||
│ └── QUICK-MODULES.yml <- Referencia rapida modulos
|
||||
│
|
||||
├── 00-vision-general/
|
||||
│ ├── VISION-PROYECTO.md <- Vision y propuesta de valor
|
||||
│ ├── REQUERIMIENTOS-FUNCIONALES.md <- Requisitos del sistema
|
||||
@ -296,7 +310,43 @@ docs/
|
||||
|
||||
---
|
||||
|
||||
**Ultima actualizacion:** 2026-01-13
|
||||
**Version:** 3.0.0
|
||||
---
|
||||
|
||||
## Definiciones y Referencias
|
||||
|
||||
### Aliases del Proyecto
|
||||
|
||||
| Alias | Archivo | Descripcion |
|
||||
|-------|---------|-------------|
|
||||
| @MCH_DEF_DB | `_definitions/DATABASE-SCHEMA.md` | Schema canonico de BD |
|
||||
| @MCH_DEF_ENTITIES | `_definitions/ENTITIES-CATALOG.md` | Catalogo de entities |
|
||||
| @MCH_DEF_MODULES | `_definitions/MODULES-CATALOG.md` | Catalogo de modulos |
|
||||
| @MCH_DEF_SERVICES | `_definitions/SERVICES-CATALOG.md` | Catalogo de services |
|
||||
| @MCH_QUICK_INDEX | `_quick/QUICK-INDEX.yml` | Indice navegacion rapida |
|
||||
| @MCH_QUICK_API | `_quick/QUICK-API.yml` | Referencia rapida API |
|
||||
| @MCH_QUICK_DB | `_quick/QUICK-DATABASE.yml` | Referencia rapida BD |
|
||||
| @MCH_QUICK_MODULES | `_quick/QUICK-MODULES.yml` | Referencia rapida modulos |
|
||||
|
||||
### Referencias a Workspace
|
||||
|
||||
| Alias | Uso |
|
||||
|-------|-----|
|
||||
| @WS_DEF_CCA | Protocolo CCA |
|
||||
| @WS_DEF_VAL_BE | Validacion Backend |
|
||||
| @WS_DEF_VAL_FE | Validacion Frontend |
|
||||
| @WS_DEF_VAL_DDL | Validacion DDL |
|
||||
|
||||
### Archivos de Orchestration
|
||||
|
||||
| Archivo | Proposito |
|
||||
|---------|-----------|
|
||||
| `orchestration/_refs/WS-REFERENCES.yml` | Referencias a workspace |
|
||||
| `orchestration/DEPENDENCY-GRAPH.yml` | Grafo de dependencias |
|
||||
| `orchestration/TRACEABILITY.yml` | Trazabilidad modulos-objetos |
|
||||
|
||||
---
|
||||
|
||||
**Ultima actualizacion:** 2026-01-16
|
||||
**Version:** 3.1.0
|
||||
**Alineacion:** Integracion template-saas (SAAS-008 a SAAS-017)
|
||||
**Cambios:** +2 epicas nuevas (MCH-034, MCH-035), 4 epicas alineadas (MCH-029 a MCH-032)
|
||||
**Cambios:** Agregada estructura _definitions/ y _quick/, orchestration DEPENDENCY-GRAPH y TRACEABILITY
|
||||
|
||||
293
docs/_definitions/DATABASE-SCHEMA.md
Normal file
293
docs/_definitions/DATABASE-SCHEMA.md
Normal file
@ -0,0 +1,293 @@
|
||||
# Database Schema - MiChangarrito
|
||||
|
||||
**Alias:** @MCH_DEF_DB
|
||||
**Version:** 1.0.0
|
||||
**Ultima actualizacion:** 2026-01-16
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN
|
||||
|
||||
| Metrica | Valor |
|
||||
|---------|-------|
|
||||
| **Total Schemas** | 12 |
|
||||
| **Total Tablas** | ~49 |
|
||||
| **Total Funciones** | 15 |
|
||||
| **Total Triggers** | 20+ |
|
||||
| **Extensiones** | 4 |
|
||||
|
||||
---
|
||||
|
||||
## 2. SCHEMAS
|
||||
|
||||
### 2.1 Schema: public
|
||||
|
||||
```yaml
|
||||
descripcion: "Schema principal - Usuarios y configuracion base"
|
||||
tablas:
|
||||
- users
|
||||
- roles
|
||||
- permissions
|
||||
- user_roles
|
||||
```
|
||||
|
||||
### 2.2 Schema: stores
|
||||
|
||||
```yaml
|
||||
descripcion: "Gestion de tiendas/changarritos"
|
||||
tablas:
|
||||
- stores
|
||||
- store_settings
|
||||
- store_hours
|
||||
```
|
||||
|
||||
### 2.3 Schema: products
|
||||
|
||||
```yaml
|
||||
descripcion: "Catalogo de productos e inventario"
|
||||
tablas:
|
||||
- products
|
||||
- categories
|
||||
- inventory
|
||||
- price_history
|
||||
```
|
||||
|
||||
### 2.4 Schema: sales
|
||||
|
||||
```yaml
|
||||
descripcion: "Punto de venta y transacciones"
|
||||
tablas:
|
||||
- sales
|
||||
- sale_items
|
||||
- payments
|
||||
- cash_registers
|
||||
```
|
||||
|
||||
### 2.5 Schema: orders
|
||||
|
||||
```yaml
|
||||
descripcion: "Pedidos y entregas"
|
||||
tablas:
|
||||
- orders
|
||||
- order_items
|
||||
- deliveries
|
||||
```
|
||||
|
||||
### 2.6 Schema: customers
|
||||
|
||||
```yaml
|
||||
descripcion: "Gestion de clientes"
|
||||
tablas:
|
||||
- customers
|
||||
- customer_addresses
|
||||
```
|
||||
|
||||
### 2.7 Schema: fiados
|
||||
|
||||
```yaml
|
||||
descripcion: "Sistema de creditos/fiados"
|
||||
tablas:
|
||||
- fiados
|
||||
- fiado_payments
|
||||
- credit_limits
|
||||
```
|
||||
|
||||
### 2.8 Schema: subscriptions
|
||||
|
||||
```yaml
|
||||
descripcion: "Planes y suscripciones SaaS"
|
||||
tablas:
|
||||
- plans
|
||||
- subscriptions
|
||||
- subscription_history
|
||||
```
|
||||
|
||||
### 2.9 Schema: tokens
|
||||
|
||||
```yaml
|
||||
descripcion: "Tienda de tokens IA"
|
||||
tablas:
|
||||
- token_packages
|
||||
- token_purchases
|
||||
- token_usage
|
||||
```
|
||||
|
||||
### 2.10 Schema: notifications
|
||||
|
||||
```yaml
|
||||
descripcion: "Sistema de notificaciones"
|
||||
tablas:
|
||||
- notifications
|
||||
- notification_templates
|
||||
- notification_logs
|
||||
```
|
||||
|
||||
### 2.11 Schema: integrations
|
||||
|
||||
```yaml
|
||||
descripcion: "Integraciones externas"
|
||||
tablas:
|
||||
- whatsapp_configs
|
||||
- llm_configs
|
||||
- payment_configs
|
||||
```
|
||||
|
||||
### 2.12 Schema: analytics
|
||||
|
||||
```yaml
|
||||
descripcion: "Metricas y reportes"
|
||||
tablas:
|
||||
- daily_metrics
|
||||
- monthly_reports
|
||||
- predictions
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. TABLAS PRINCIPALES
|
||||
|
||||
### 3.1 users
|
||||
|
||||
```yaml
|
||||
tabla: "users"
|
||||
schema: "public"
|
||||
descripcion: "Usuarios del sistema (duenos de changarritos)"
|
||||
columnas:
|
||||
- nombre: "id"
|
||||
tipo: "UUID"
|
||||
pk: true
|
||||
- nombre: "email"
|
||||
tipo: "VARCHAR(255)"
|
||||
unique: true
|
||||
- nombre: "phone"
|
||||
tipo: "VARCHAR(20)"
|
||||
- nombre: "name"
|
||||
tipo: "VARCHAR(100)"
|
||||
- nombre: "created_at"
|
||||
tipo: "TIMESTAMP"
|
||||
- nombre: "updated_at"
|
||||
tipo: "TIMESTAMP"
|
||||
relaciones:
|
||||
- tabla: "stores"
|
||||
tipo: "ONE_TO_MANY"
|
||||
columna: "owner_id"
|
||||
indices:
|
||||
- nombre: "idx_users_email"
|
||||
columnas: ["email"]
|
||||
unique: true
|
||||
```
|
||||
|
||||
### 3.2 stores
|
||||
|
||||
```yaml
|
||||
tabla: "stores"
|
||||
schema: "stores"
|
||||
descripcion: "Changarritos/tiendas de los usuarios"
|
||||
columnas:
|
||||
- nombre: "id"
|
||||
tipo: "UUID"
|
||||
pk: true
|
||||
- nombre: "owner_id"
|
||||
tipo: "UUID"
|
||||
fk: "users.id"
|
||||
- nombre: "name"
|
||||
tipo: "VARCHAR(100)"
|
||||
- nombre: "type"
|
||||
tipo: "VARCHAR(50)"
|
||||
- nombre: "status"
|
||||
tipo: "VARCHAR(20)"
|
||||
relaciones:
|
||||
- tabla: "users"
|
||||
tipo: "MANY_TO_ONE"
|
||||
columna: "owner_id"
|
||||
- tabla: "products"
|
||||
tipo: "ONE_TO_MANY"
|
||||
columna: "store_id"
|
||||
```
|
||||
|
||||
### 3.3 products
|
||||
|
||||
```yaml
|
||||
tabla: "products"
|
||||
schema: "products"
|
||||
descripcion: "Productos del catalogo"
|
||||
columnas:
|
||||
- nombre: "id"
|
||||
tipo: "UUID"
|
||||
pk: true
|
||||
- nombre: "store_id"
|
||||
tipo: "UUID"
|
||||
fk: "stores.id"
|
||||
- nombre: "name"
|
||||
tipo: "VARCHAR(200)"
|
||||
- nombre: "price"
|
||||
tipo: "DECIMAL(10,2)"
|
||||
- nombre: "stock"
|
||||
tipo: "INTEGER"
|
||||
- nombre: "category_id"
|
||||
tipo: "UUID"
|
||||
fk: "categories.id"
|
||||
```
|
||||
|
||||
### 3.4 sales
|
||||
|
||||
```yaml
|
||||
tabla: "sales"
|
||||
schema: "sales"
|
||||
descripcion: "Ventas realizadas en POS"
|
||||
columnas:
|
||||
- nombre: "id"
|
||||
tipo: "UUID"
|
||||
pk: true
|
||||
- nombre: "store_id"
|
||||
tipo: "UUID"
|
||||
fk: "stores.id"
|
||||
- nombre: "total"
|
||||
tipo: "DECIMAL(10,2)"
|
||||
- nombre: "payment_method"
|
||||
tipo: "VARCHAR(20)"
|
||||
- nombre: "status"
|
||||
tipo: "VARCHAR(20)"
|
||||
- nombre: "created_at"
|
||||
tipo: "TIMESTAMP"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. RELACIONES PRINCIPALES
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ users │
|
||||
└──────┬──────┘
|
||||
│ 1:N
|
||||
┌────────────┴────────────┐
|
||||
│ │
|
||||
┌──────▼──────┐ ┌───────▼──────┐
|
||||
│ stores │ │ subscriptions│
|
||||
└──────┬──────┘ └──────────────┘
|
||||
│ 1:N
|
||||
┌─────────┼─────────┬─────────────┐
|
||||
│ │ │ │
|
||||
┌───▼───┐ ┌───▼───┐ ┌───▼───┐ ┌─────▼─────┐
|
||||
│products│ │ sales │ │orders │ │ customers │
|
||||
└───┬───┘ └───┬───┘ └───┬───┘ └─────┬─────┘
|
||||
│ │ │ │
|
||||
└─────────┴─────────┴─────────────┘
|
||||
│
|
||||
┌───────▼───────┐
|
||||
│ fiados │
|
||||
└───────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. REFERENCIAS
|
||||
|
||||
- Especificaciones tecnicas: `docs/02-especificaciones/ARQUITECTURA-DATABASE.md`
|
||||
- Migraciones: `apps/backend/src/database/migrations/`
|
||||
- Entities: Ver @MCH_DEF_ENTITIES
|
||||
|
||||
---
|
||||
|
||||
*Definicion canonica v1.0.0 - MiChangarrito*
|
||||
141
docs/_definitions/ENTITIES-CATALOG.md
Normal file
141
docs/_definitions/ENTITIES-CATALOG.md
Normal file
@ -0,0 +1,141 @@
|
||||
# Entities Catalog - MiChangarrito
|
||||
|
||||
**Alias:** @MCH_DEF_ENTITIES
|
||||
**Version:** 1.0.0
|
||||
**Ultima actualizacion:** 2026-01-16
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN
|
||||
|
||||
| Metrica | Valor |
|
||||
|---------|-------|
|
||||
| **Total Entities** | 25 |
|
||||
| **Por Modulo** | Ver seccion 2 |
|
||||
|
||||
---
|
||||
|
||||
## 2. ENTITIES POR MODULO
|
||||
|
||||
### 2.1 Modulo: Core/Base
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| BaseEntity | `base.entity.ts` | - | Entity base abstracta |
|
||||
| AuditEntity | `audit.entity.ts` | - | Entity con auditoria |
|
||||
|
||||
### 2.2 Modulo: Auth
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| User | `user.entity.ts` | users | Usuarios del sistema |
|
||||
| Session | `session.entity.ts` | sessions | Sesiones activas |
|
||||
| RefreshToken | `refresh-token.entity.ts` | refresh_tokens | Tokens de refresco |
|
||||
|
||||
### 2.3 Modulo: Stores
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Store | `store.entity.ts` | stores | Changarritos |
|
||||
| StoreSettings | `store-settings.entity.ts` | store_settings | Configuracion de tienda |
|
||||
| StoreHours | `store-hours.entity.ts` | store_hours | Horarios de operacion |
|
||||
|
||||
### 2.4 Modulo: Products
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Product | `product.entity.ts` | products | Productos del catalogo |
|
||||
| Category | `category.entity.ts` | categories | Categorias de productos |
|
||||
| Inventory | `inventory.entity.ts` | inventory | Control de inventario |
|
||||
|
||||
### 2.5 Modulo: Sales (POS)
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Sale | `sale.entity.ts` | sales | Ventas realizadas |
|
||||
| SaleItem | `sale-item.entity.ts` | sale_items | Items de venta |
|
||||
| Payment | `payment.entity.ts` | payments | Pagos recibidos |
|
||||
| CashRegister | `cash-register.entity.ts` | cash_registers | Caja registradora |
|
||||
|
||||
### 2.6 Modulo: Orders
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Order | `order.entity.ts` | orders | Pedidos |
|
||||
| OrderItem | `order-item.entity.ts` | order_items | Items del pedido |
|
||||
| Delivery | `delivery.entity.ts` | deliveries | Entregas a domicilio |
|
||||
|
||||
### 2.7 Modulo: Customers
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Customer | `customer.entity.ts` | customers | Clientes del changarrito |
|
||||
| CustomerAddress | `customer-address.entity.ts` | customer_addresses | Direcciones de entrega |
|
||||
|
||||
### 2.8 Modulo: Fiados
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Fiado | `fiado.entity.ts` | fiados | Creditos otorgados |
|
||||
| FiadoPayment | `fiado-payment.entity.ts` | fiado_payments | Pagos de fiados |
|
||||
|
||||
### 2.9 Modulo: Subscriptions
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| Plan | `plan.entity.ts` | plans | Planes de suscripcion |
|
||||
| Subscription | `subscription.entity.ts` | subscriptions | Suscripciones activas |
|
||||
|
||||
### 2.10 Modulo: Tokens
|
||||
|
||||
| Entity | Archivo | Tabla BD | Descripcion |
|
||||
|--------|---------|----------|-------------|
|
||||
| TokenPackage | `token-package.entity.ts` | token_packages | Paquetes de tokens |
|
||||
| TokenUsage | `token-usage.entity.ts` | token_usage | Uso de tokens IA |
|
||||
|
||||
---
|
||||
|
||||
## 3. RELACIONES ENTRE ENTITIES
|
||||
|
||||
```yaml
|
||||
relaciones:
|
||||
User:
|
||||
has_many: [Store, Session, RefreshToken, Subscription]
|
||||
belongs_to: []
|
||||
|
||||
Store:
|
||||
has_many: [Product, Sale, Order, Customer, Fiado, StoreSettings]
|
||||
belongs_to: [User]
|
||||
|
||||
Product:
|
||||
has_many: [SaleItem, OrderItem, Inventory]
|
||||
belongs_to: [Store, Category]
|
||||
|
||||
Sale:
|
||||
has_many: [SaleItem, Payment]
|
||||
belongs_to: [Store, Customer]
|
||||
|
||||
Order:
|
||||
has_many: [OrderItem, Delivery]
|
||||
belongs_to: [Store, Customer]
|
||||
|
||||
Customer:
|
||||
has_many: [Sale, Order, Fiado, CustomerAddress]
|
||||
belongs_to: [Store]
|
||||
|
||||
Fiado:
|
||||
has_many: [FiadoPayment]
|
||||
belongs_to: [Store, Customer]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. REFERENCIAS
|
||||
|
||||
- Database Schema: @MCH_DEF_DB
|
||||
- Services: @MCH_DEF_SERVICES
|
||||
- Ubicacion: `apps/backend/src/modules/*/entities/`
|
||||
|
||||
---
|
||||
|
||||
*Definicion canonica v1.0.0 - MiChangarrito*
|
||||
161
docs/_definitions/MODULES-CATALOG.md
Normal file
161
docs/_definitions/MODULES-CATALOG.md
Normal file
@ -0,0 +1,161 @@
|
||||
# Modules Catalog - MiChangarrito
|
||||
|
||||
**Alias:** @MCH_DEF_MODULES
|
||||
**Version:** 1.0.0
|
||||
**Ultima actualizacion:** 2026-01-16
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN
|
||||
|
||||
| Metrica | Valor |
|
||||
|---------|-------|
|
||||
| **Total Modulos** | 18 |
|
||||
| **En Produccion** | 18 |
|
||||
| **En Desarrollo** | 0 |
|
||||
|
||||
---
|
||||
|
||||
## 2. INDICE DE MODULOS
|
||||
|
||||
### 2.1 Modulos Core (Fase 1)
|
||||
|
||||
| ID | Nombre | Estado | Epica |
|
||||
|----|--------|--------|-------|
|
||||
| MCH-M01 | Auth | Produccion | MCH-002 |
|
||||
| MCH-M02 | Users | Produccion | MCH-001 |
|
||||
| MCH-M03 | Stores | Produccion | MCH-001 |
|
||||
| MCH-M04 | Products | Produccion | MCH-003 |
|
||||
| MCH-M05 | Sales (POS) | Produccion | MCH-004 |
|
||||
| MCH-M06 | Payments | Produccion | MCH-005 |
|
||||
|
||||
### 2.2 Modulos Inteligencia (Fase 2-3)
|
||||
|
||||
| ID | Nombre | Estado | Epica |
|
||||
|----|--------|--------|-------|
|
||||
| MCH-M07 | Onboarding | Produccion | MCH-006 |
|
||||
| MCH-M08 | Templates | Produccion | MCH-007 |
|
||||
| MCH-M09 | Fiados | Produccion | MCH-008 |
|
||||
| MCH-M10 | Predictions | Produccion | MCH-009 |
|
||||
| MCH-M11 | MCP Server | Produccion | MCH-010 |
|
||||
| MCH-M12 | WhatsApp | Produccion | MCH-011 |
|
||||
| MCH-M13 | LLM Chat | Produccion | MCH-012/013 |
|
||||
|
||||
### 2.3 Modulos Negocio (Fase 4-5)
|
||||
|
||||
| ID | Nombre | Estado | Epica |
|
||||
|----|--------|--------|-------|
|
||||
| MCH-M14 | Customers | Produccion | MCH-014 |
|
||||
| MCH-M15 | Orders | Produccion | MCH-015 |
|
||||
| MCH-M16 | Deliveries | Produccion | MCH-016 |
|
||||
| MCH-M17 | Notifications | Produccion | MCH-017 |
|
||||
| MCH-M18 | Subscriptions | Produccion | MCH-018/019/020 |
|
||||
|
||||
---
|
||||
|
||||
## 3. DETALLE POR MODULO
|
||||
|
||||
### MCH-M01: Auth
|
||||
|
||||
```yaml
|
||||
modulo:
|
||||
id: "MCH-M01"
|
||||
nombre: "Authentication"
|
||||
estado: "produccion"
|
||||
version: "1.0.0"
|
||||
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-002-autenticacion.md"
|
||||
requerimientos: ["RF-AUTH-001", "RF-AUTH-002"]
|
||||
|
||||
objetos:
|
||||
tablas: ["users", "sessions", "refresh_tokens"]
|
||||
entities: ["User", "Session", "RefreshToken"]
|
||||
services: ["AuthService", "JwtService", "SessionService"]
|
||||
controllers: ["AuthController"]
|
||||
|
||||
dependencias:
|
||||
modulos: []
|
||||
externos: ["@nestjs/jwt", "@nestjs/passport"]
|
||||
```
|
||||
|
||||
### MCH-M05: Sales (POS)
|
||||
|
||||
```yaml
|
||||
modulo:
|
||||
id: "MCH-M05"
|
||||
nombre: "Punto de Venta"
|
||||
estado: "produccion"
|
||||
version: "1.0.0"
|
||||
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-004-punto-venta.md"
|
||||
requerimientos: ["RF-POS-001", "RF-POS-002", "RF-POS-003"]
|
||||
|
||||
objetos:
|
||||
tablas: ["sales", "sale_items", "payments", "cash_registers"]
|
||||
entities: ["Sale", "SaleItem", "Payment", "CashRegister"]
|
||||
services: ["SalesService", "PaymentsService", "CashRegisterService"]
|
||||
controllers: ["SalesController", "PaymentsController"]
|
||||
|
||||
dependencias:
|
||||
modulos: ["MCH-M04", "MCH-M14"]
|
||||
externos: ["stripe"]
|
||||
```
|
||||
|
||||
### MCH-M09: Fiados
|
||||
|
||||
```yaml
|
||||
modulo:
|
||||
id: "MCH-M09"
|
||||
nombre: "Sistema Fiados"
|
||||
estado: "produccion"
|
||||
version: "1.0.0"
|
||||
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-008-sistema-fiados.md"
|
||||
|
||||
objetos:
|
||||
tablas: ["fiados", "fiado_payments", "credit_limits"]
|
||||
entities: ["Fiado", "FiadoPayment", "CreditLimit"]
|
||||
services: ["FiadosService", "CreditService"]
|
||||
controllers: ["FiadosController"]
|
||||
|
||||
dependencias:
|
||||
modulos: ["MCH-M14", "MCH-M05"]
|
||||
externos: []
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. MATRIZ DE DEPENDENCIAS
|
||||
|
||||
```
|
||||
┌──────────┬──────┬──────┬──────┬──────┬──────┬──────┐
|
||||
│ │ Auth │ User │Store │ Prod │ Sale │ Cust │
|
||||
├──────────┼──────┼──────┼──────┼──────┼──────┼──────┤
|
||||
│ Auth │ - │ -> │ │ │ │ │
|
||||
│ Users │ <- │ - │ -> │ │ │ │
|
||||
│ Stores │ │ <- │ - │ -> │ -> │ -> │
|
||||
│ Products │ │ │ <- │ - │ │ │
|
||||
│ Sales │ │ │ <- │ <- │ - │ <- │
|
||||
│ Customers│ │ │ <- │ │ -> │ - │
|
||||
│ Fiados │ │ │ │ │ <- │ <- │
|
||||
│ Orders │ │ │ <- │ <- │ │ <- │
|
||||
└──────────┴──────┴──────┴──────┴──────┴──────┴──────┘
|
||||
|
||||
Leyenda: -> depende de, <- es dependido por
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. REFERENCIAS
|
||||
|
||||
- Database: @MCH_DEF_DB
|
||||
- Entities: @MCH_DEF_ENTITIES
|
||||
- Services: @MCH_DEF_SERVICES
|
||||
- Navegacion rapida: @MCH_QUICK_MODULES
|
||||
|
||||
---
|
||||
|
||||
*Definicion canonica v1.0.0 - MiChangarrito*
|
||||
146
docs/_definitions/SERVICES-CATALOG.md
Normal file
146
docs/_definitions/SERVICES-CATALOG.md
Normal file
@ -0,0 +1,146 @@
|
||||
# Services Catalog - MiChangarrito
|
||||
|
||||
**Alias:** @MCH_DEF_SERVICES
|
||||
**Version:** 1.0.0
|
||||
**Ultima actualizacion:** 2026-01-16
|
||||
|
||||
---
|
||||
|
||||
## 1. RESUMEN
|
||||
|
||||
| Metrica | Valor |
|
||||
|---------|-------|
|
||||
| **Total Services** | 18+ |
|
||||
| **Por Modulo** | Ver seccion 2 |
|
||||
|
||||
---
|
||||
|
||||
## 2. SERVICES POR MODULO
|
||||
|
||||
### 2.1 Modulo: Auth
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| AuthService | `auth.service.ts` | JwtService, UsersService | Autenticacion de usuarios |
|
||||
| JwtService | `jwt.service.ts` | ConfigService | Generacion/validacion JWT |
|
||||
| SessionService | `session.service.ts` | Repository | Gestion de sesiones |
|
||||
|
||||
### 2.2 Modulo: Users
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| UsersService | `users.service.ts` | Repository | CRUD de usuarios |
|
||||
|
||||
### 2.3 Modulo: Stores
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| StoresService | `stores.service.ts` | Repository | CRUD de tiendas |
|
||||
| StoreSettingsService | `store-settings.service.ts` | Repository | Configuracion de tiendas |
|
||||
|
||||
### 2.4 Modulo: Products
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| ProductsService | `products.service.ts` | Repository | CRUD de productos |
|
||||
| CategoriesService | `categories.service.ts` | Repository | CRUD de categorias |
|
||||
| InventoryService | `inventory.service.ts` | Repository | Control de stock |
|
||||
|
||||
### 2.5 Modulo: Sales (POS)
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| SalesService | `sales.service.ts` | Repository, ProductsService | Procesamiento de ventas |
|
||||
| PaymentsService | `payments.service.ts` | StripeService | Procesamiento de pagos |
|
||||
| CashRegisterService | `cash-register.service.ts` | Repository | Control de caja |
|
||||
|
||||
### 2.6 Modulo: Customers
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| CustomersService | `customers.service.ts` | Repository | CRUD de clientes |
|
||||
|
||||
### 2.7 Modulo: Fiados
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| FiadosService | `fiados.service.ts` | Repository, CustomersService | Gestion de creditos |
|
||||
| CreditService | `credit.service.ts` | Repository | Limites de credito |
|
||||
|
||||
### 2.8 Modulo: Orders
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| OrdersService | `orders.service.ts` | Repository, ProductsService | Gestion de pedidos |
|
||||
| DeliveriesService | `deliveries.service.ts` | Repository | Entregas a domicilio |
|
||||
|
||||
### 2.9 Modulo: Subscriptions
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| SubscriptionsService | `subscriptions.service.ts` | Repository, StripeService | Gestion de suscripciones |
|
||||
| PlansService | `plans.service.ts` | Repository | CRUD de planes |
|
||||
| TokensService | `tokens.service.ts` | Repository | Gestion de tokens IA |
|
||||
|
||||
### 2.10 Modulo: Integraciones
|
||||
|
||||
| Service | Archivo | Dependencias | Descripcion |
|
||||
|---------|---------|--------------|-------------|
|
||||
| WhatsAppService | `whatsapp.service.ts` | HttpService, ConfigService | Integracion Meta API |
|
||||
| LLMService | `llm.service.ts` | HttpService, ConfigService | Integracion OpenRouter |
|
||||
| StripeService | `stripe.service.ts` | Stripe SDK | Integracion Stripe |
|
||||
|
||||
---
|
||||
|
||||
## 3. INYECCION DE DEPENDENCIAS
|
||||
|
||||
```yaml
|
||||
dependencias:
|
||||
AuthService:
|
||||
inyecta:
|
||||
- JwtService
|
||||
- UsersService
|
||||
- SessionService
|
||||
inyectado_en:
|
||||
- AuthController
|
||||
- JwtAuthGuard
|
||||
|
||||
SalesService:
|
||||
inyecta:
|
||||
- ProductsService
|
||||
- InventoryService
|
||||
- PaymentsService
|
||||
inyectado_en:
|
||||
- SalesController
|
||||
- OrdersService
|
||||
|
||||
FiadosService:
|
||||
inyecta:
|
||||
- CustomersService
|
||||
- CreditService
|
||||
inyectado_en:
|
||||
- FiadosController
|
||||
- SalesService
|
||||
|
||||
WhatsAppService:
|
||||
inyecta:
|
||||
- HttpService
|
||||
- ConfigService
|
||||
- LLMService
|
||||
inyectado_en:
|
||||
- WhatsAppController
|
||||
- OrdersService
|
||||
- NotificationsService
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. REFERENCIAS
|
||||
|
||||
- Entities: @MCH_DEF_ENTITIES
|
||||
- Controllers: Ver documentacion API en `/api/docs`
|
||||
- Ubicacion: `apps/backend/src/modules/*/services/`
|
||||
|
||||
---
|
||||
|
||||
*Definicion canonica v1.0.0 - MiChangarrito*
|
||||
75
docs/_definitions/_INDEX.yml
Normal file
75
docs/_definitions/_INDEX.yml
Normal file
@ -0,0 +1,75 @@
|
||||
# Indice de Definiciones del Proyecto
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
fecha_creacion: "2026-01-16"
|
||||
descripcion: "Definiciones canonicas del proyecto MiChangarrito"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS A WORKSPACE (Definiciones Globales)
|
||||
# ============================================================================
|
||||
referencias_workspace:
|
||||
protocolos:
|
||||
CCA: "@WS_DEF_CCA"
|
||||
CAPVED: "@WS_DEF_CAPVED"
|
||||
|
||||
validaciones:
|
||||
backend: "@WS_DEF_VAL_BE"
|
||||
frontend: "@WS_DEF_VAL_FE"
|
||||
ddl: "@WS_DEF_VAL_DDL"
|
||||
devops: "@WS_DEF_VAL_DEVOPS"
|
||||
|
||||
# ============================================================================
|
||||
# DEFINICIONES LOCALES DEL PROYECTO
|
||||
# ============================================================================
|
||||
definiciones_locales:
|
||||
database:
|
||||
archivo: "DATABASE-SCHEMA.md"
|
||||
alias: "@MCH_DEF_DB"
|
||||
descripcion: "Schema canonico de base de datos MiChangarrito"
|
||||
tablas_principales:
|
||||
- users
|
||||
- stores
|
||||
- products
|
||||
- sales
|
||||
- orders
|
||||
- customers
|
||||
- fiados
|
||||
- subscriptions
|
||||
- tokens
|
||||
|
||||
entities:
|
||||
archivo: "ENTITIES-CATALOG.md"
|
||||
alias: "@MCH_DEF_ENTITIES"
|
||||
descripcion: "Catalogo de entidades del proyecto"
|
||||
total_entities: 25
|
||||
|
||||
services:
|
||||
archivo: "SERVICES-CATALOG.md"
|
||||
alias: "@MCH_DEF_SERVICES"
|
||||
descripcion: "Catalogo de servicios del proyecto"
|
||||
total_services: 18
|
||||
|
||||
modules:
|
||||
archivo: "MODULES-CATALOG.md"
|
||||
alias: "@MCH_DEF_MODULES"
|
||||
descripcion: "Catalogo de modulos del proyecto"
|
||||
total_modules: 18
|
||||
|
||||
# ============================================================================
|
||||
# HERENCIA (Proyecto Independiente)
|
||||
# ============================================================================
|
||||
herencia:
|
||||
padre: null
|
||||
nivel: 0
|
||||
definiciones_heredadas: []
|
||||
|
||||
# ============================================================================
|
||||
# ESTADISTICAS
|
||||
# ============================================================================
|
||||
estadisticas:
|
||||
total_definiciones: 4
|
||||
total_referencias_ws: 6
|
||||
ultima_actualizacion: "2026-01-16"
|
||||
148
docs/_quick/QUICK-API.yml
Normal file
148
docs/_quick/QUICK-API.yml
Normal file
@ -0,0 +1,148 @@
|
||||
# Navegacion Rapida de API - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
|
||||
# ============================================================================
|
||||
# ENDPOINTS POR MODULO
|
||||
# ============================================================================
|
||||
por_modulo:
|
||||
auth:
|
||||
base: "/api/v1/auth"
|
||||
endpoints:
|
||||
- { method: "POST", path: "/login", descripcion: "Login usuario" }
|
||||
- { method: "POST", path: "/register", descripcion: "Registro nuevo usuario" }
|
||||
- { method: "POST", path: "/refresh", descripcion: "Refresh token" }
|
||||
- { method: "POST", path: "/logout", descripcion: "Cerrar sesion" }
|
||||
- { method: "GET", path: "/me", descripcion: "Obtener usuario actual" }
|
||||
|
||||
stores:
|
||||
base: "/api/v1/stores"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar tiendas del usuario" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear nueva tienda" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener tienda por ID" }
|
||||
- { method: "PATCH", path: "/:id", descripcion: "Actualizar tienda" }
|
||||
- { method: "DELETE", path: "/:id", descripcion: "Eliminar tienda" }
|
||||
|
||||
products:
|
||||
base: "/api/v1/products"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar productos" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear producto" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener producto" }
|
||||
- { method: "PATCH", path: "/:id", descripcion: "Actualizar producto" }
|
||||
- { method: "DELETE", path: "/:id", descripcion: "Eliminar producto" }
|
||||
- { method: "PATCH", path: "/:id/stock", descripcion: "Actualizar stock" }
|
||||
|
||||
sales:
|
||||
base: "/api/v1/sales"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar ventas" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear venta (POS)" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener venta" }
|
||||
- { method: "POST", path: "/:id/cancel", descripcion: "Cancelar venta" }
|
||||
- { method: "GET", path: "/report/daily", descripcion: "Reporte diario" }
|
||||
|
||||
customers:
|
||||
base: "/api/v1/customers"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar clientes" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear cliente" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener cliente" }
|
||||
- { method: "PATCH", path: "/:id", descripcion: "Actualizar cliente" }
|
||||
|
||||
fiados:
|
||||
base: "/api/v1/fiados"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar fiados activos" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear fiado" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener fiado" }
|
||||
- { method: "POST", path: "/:id/payment", descripcion: "Registrar pago" }
|
||||
- { method: "GET", path: "/customer/:customerId", descripcion: "Fiados por cliente" }
|
||||
|
||||
orders:
|
||||
base: "/api/v1/orders"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/", descripcion: "Listar pedidos" }
|
||||
- { method: "POST", path: "/", descripcion: "Crear pedido" }
|
||||
- { method: "GET", path: "/:id", descripcion: "Obtener pedido" }
|
||||
- { method: "PATCH", path: "/:id/status", descripcion: "Actualizar estado" }
|
||||
- { method: "POST", path: "/:id/delivery", descripcion: "Asignar entrega" }
|
||||
|
||||
subscriptions:
|
||||
base: "/api/v1/subscriptions"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/plans", descripcion: "Listar planes disponibles" }
|
||||
- { method: "GET", path: "/current", descripcion: "Suscripcion actual" }
|
||||
- { method: "POST", path: "/subscribe", descripcion: "Suscribirse a plan" }
|
||||
- { method: "POST", path: "/cancel", descripcion: "Cancelar suscripcion" }
|
||||
|
||||
tokens:
|
||||
base: "/api/v1/tokens"
|
||||
endpoints:
|
||||
- { method: "GET", path: "/packages", descripcion: "Paquetes de tokens" }
|
||||
- { method: "GET", path: "/balance", descripcion: "Balance actual" }
|
||||
- { method: "POST", path: "/purchase", descripcion: "Comprar tokens" }
|
||||
- { method: "GET", path: "/usage", descripcion: "Historial de uso" }
|
||||
|
||||
# ============================================================================
|
||||
# ENDPOINTS POR METODO
|
||||
# ============================================================================
|
||||
por_metodo:
|
||||
GET:
|
||||
- "/api/v1/auth/me"
|
||||
- "/api/v1/stores"
|
||||
- "/api/v1/products"
|
||||
- "/api/v1/sales"
|
||||
- "/api/v1/customers"
|
||||
- "/api/v1/fiados"
|
||||
- "/api/v1/orders"
|
||||
POST:
|
||||
- "/api/v1/auth/login"
|
||||
- "/api/v1/auth/register"
|
||||
- "/api/v1/sales"
|
||||
- "/api/v1/orders"
|
||||
- "/api/v1/fiados"
|
||||
PATCH:
|
||||
- "/api/v1/stores/:id"
|
||||
- "/api/v1/products/:id"
|
||||
- "/api/v1/orders/:id/status"
|
||||
DELETE:
|
||||
- "/api/v1/stores/:id"
|
||||
- "/api/v1/products/:id"
|
||||
|
||||
# ============================================================================
|
||||
# AUTENTICACION
|
||||
# ============================================================================
|
||||
autenticacion:
|
||||
tipo: "JWT Bearer"
|
||||
header: "Authorization"
|
||||
formato: "Bearer {token}"
|
||||
endpoints_publicos:
|
||||
- "/api/v1/auth/login"
|
||||
- "/api/v1/auth/register"
|
||||
- "/api/v1/health"
|
||||
- "/api/docs"
|
||||
|
||||
# ============================================================================
|
||||
# ERRORES COMUNES
|
||||
# ============================================================================
|
||||
errores:
|
||||
400: "Bad Request - Datos invalidos"
|
||||
401: "Unauthorized - Token invalido o expirado"
|
||||
403: "Forbidden - Sin permisos para esta accion"
|
||||
404: "Not Found - Recurso no encontrado"
|
||||
409: "Conflict - Recurso ya existe"
|
||||
422: "Unprocessable Entity - Validacion fallida"
|
||||
500: "Internal Server Error"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS
|
||||
# ============================================================================
|
||||
referencias:
|
||||
swagger: "http://localhost:3141/api/docs"
|
||||
postman: "docs/api-contracts/"
|
||||
services: "@MCH_DEF_SERVICES"
|
||||
180
docs/_quick/QUICK-DATABASE.yml
Normal file
180
docs/_quick/QUICK-DATABASE.yml
Normal file
@ -0,0 +1,180 @@
|
||||
# Navegacion Rapida de Base de Datos - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
|
||||
# ============================================================================
|
||||
# SCHEMAS
|
||||
# ============================================================================
|
||||
schemas:
|
||||
public:
|
||||
descripcion: "Schema principal - Usuarios y configuracion base"
|
||||
tablas_count: 4
|
||||
tablas_principales: ["users", "roles", "permissions", "user_roles"]
|
||||
|
||||
stores:
|
||||
descripcion: "Gestion de tiendas/changarritos"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["stores", "store_settings", "store_hours"]
|
||||
|
||||
products:
|
||||
descripcion: "Catalogo de productos e inventario"
|
||||
tablas_count: 4
|
||||
tablas_principales: ["products", "categories", "inventory", "price_history"]
|
||||
|
||||
sales:
|
||||
descripcion: "Punto de venta y transacciones"
|
||||
tablas_count: 4
|
||||
tablas_principales: ["sales", "sale_items", "payments", "cash_registers"]
|
||||
|
||||
orders:
|
||||
descripcion: "Pedidos y entregas"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["orders", "order_items", "deliveries"]
|
||||
|
||||
customers:
|
||||
descripcion: "Gestion de clientes"
|
||||
tablas_count: 2
|
||||
tablas_principales: ["customers", "customer_addresses"]
|
||||
|
||||
fiados:
|
||||
descripcion: "Sistema de creditos/fiados"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["fiados", "fiado_payments", "credit_limits"]
|
||||
|
||||
subscriptions:
|
||||
descripcion: "Planes y suscripciones SaaS"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["plans", "subscriptions", "subscription_history"]
|
||||
|
||||
tokens:
|
||||
descripcion: "Tienda de tokens IA"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["token_packages", "token_purchases", "token_usage"]
|
||||
|
||||
notifications:
|
||||
descripcion: "Sistema de notificaciones"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["notifications", "notification_templates", "notification_logs"]
|
||||
|
||||
integrations:
|
||||
descripcion: "Integraciones externas"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["whatsapp_configs", "llm_configs", "payment_configs"]
|
||||
|
||||
analytics:
|
||||
descripcion: "Metricas y reportes"
|
||||
tablas_count: 3
|
||||
tablas_principales: ["daily_metrics", "monthly_reports", "predictions"]
|
||||
|
||||
# ============================================================================
|
||||
# TABLAS PRINCIPALES (Top 10)
|
||||
# ============================================================================
|
||||
tablas_principales:
|
||||
- nombre: "users"
|
||||
schema: "public"
|
||||
descripcion: "Usuarios del sistema (duenos de changarritos)"
|
||||
entity: "User.entity.ts"
|
||||
relaciones: ["stores", "subscriptions", "sessions"]
|
||||
|
||||
- nombre: "stores"
|
||||
schema: "stores"
|
||||
descripcion: "Changarritos/tiendas"
|
||||
entity: "Store.entity.ts"
|
||||
relaciones: ["users", "products", "sales", "customers"]
|
||||
|
||||
- nombre: "products"
|
||||
schema: "products"
|
||||
descripcion: "Catalogo de productos"
|
||||
entity: "Product.entity.ts"
|
||||
relaciones: ["stores", "categories", "sale_items", "order_items"]
|
||||
|
||||
- nombre: "sales"
|
||||
schema: "sales"
|
||||
descripcion: "Ventas realizadas en POS"
|
||||
entity: "Sale.entity.ts"
|
||||
relaciones: ["stores", "sale_items", "payments", "customers"]
|
||||
|
||||
- nombre: "customers"
|
||||
schema: "customers"
|
||||
descripcion: "Clientes del changarrito"
|
||||
entity: "Customer.entity.ts"
|
||||
relaciones: ["stores", "sales", "orders", "fiados"]
|
||||
|
||||
- nombre: "fiados"
|
||||
schema: "fiados"
|
||||
descripcion: "Creditos otorgados a clientes"
|
||||
entity: "Fiado.entity.ts"
|
||||
relaciones: ["customers", "stores", "fiado_payments"]
|
||||
|
||||
- nombre: "orders"
|
||||
schema: "orders"
|
||||
descripcion: "Pedidos (WhatsApp/Web)"
|
||||
entity: "Order.entity.ts"
|
||||
relaciones: ["stores", "customers", "order_items", "deliveries"]
|
||||
|
||||
- nombre: "subscriptions"
|
||||
schema: "subscriptions"
|
||||
descripcion: "Suscripciones de usuarios a planes"
|
||||
entity: "Subscription.entity.ts"
|
||||
relaciones: ["users", "plans"]
|
||||
|
||||
- nombre: "plans"
|
||||
schema: "subscriptions"
|
||||
descripcion: "Planes de suscripcion disponibles"
|
||||
entity: "Plan.entity.ts"
|
||||
relaciones: ["subscriptions"]
|
||||
|
||||
- nombre: "token_usage"
|
||||
schema: "tokens"
|
||||
descripcion: "Uso de tokens de IA"
|
||||
entity: "TokenUsage.entity.ts"
|
||||
relaciones: ["users", "stores"]
|
||||
|
||||
# ============================================================================
|
||||
# BUSQUEDA RAPIDA
|
||||
# ============================================================================
|
||||
busqueda:
|
||||
por_modulo:
|
||||
auth: ["users", "sessions", "refresh_tokens"]
|
||||
stores: ["stores", "store_settings", "store_hours"]
|
||||
products: ["products", "categories", "inventory"]
|
||||
sales: ["sales", "sale_items", "payments", "cash_registers"]
|
||||
customers: ["customers", "customer_addresses"]
|
||||
fiados: ["fiados", "fiado_payments", "credit_limits"]
|
||||
orders: ["orders", "order_items", "deliveries"]
|
||||
subscriptions: ["plans", "subscriptions", "subscription_history"]
|
||||
tokens: ["token_packages", "token_purchases", "token_usage"]
|
||||
|
||||
por_tipo:
|
||||
catalogo: ["plans", "token_packages", "categories"]
|
||||
transaccional: ["sales", "orders", "fiados", "payments"]
|
||||
auditoria: ["notification_logs", "token_usage", "subscription_history"]
|
||||
configuracion: ["store_settings", "whatsapp_configs", "llm_configs"]
|
||||
|
||||
# ============================================================================
|
||||
# CONEXION
|
||||
# ============================================================================
|
||||
conexion:
|
||||
host: "localhost"
|
||||
puerto: 5432
|
||||
database: "michangarrito_db"
|
||||
usuario: "ver .env"
|
||||
password: "ver .env"
|
||||
|
||||
# ============================================================================
|
||||
# MIGRACIONES RECIENTES
|
||||
# ============================================================================
|
||||
migraciones:
|
||||
ubicacion: "apps/backend/src/database/migrations/"
|
||||
recientes: []
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS
|
||||
# ============================================================================
|
||||
referencias:
|
||||
schema_completo: "@MCH_DEF_DB"
|
||||
entities: "@MCH_DEF_ENTITIES"
|
||||
especificaciones: "docs/02-especificaciones/ARQUITECTURA-DATABASE.md"
|
||||
117
docs/_quick/QUICK-INDEX.yml
Normal file
117
docs/_quick/QUICK-INDEX.yml
Normal file
@ -0,0 +1,117 @@
|
||||
# Indice de Navegacion Rapida - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
fecha_creacion: "2026-01-16"
|
||||
descripcion: "Navegacion rapida del proyecto MiChangarrito"
|
||||
|
||||
# ============================================================================
|
||||
# PUNTO DE ENTRADA RAPIDO
|
||||
# ============================================================================
|
||||
inicio_rapido:
|
||||
descripcion: "Accesos directos a recursos principales"
|
||||
|
||||
documentacion:
|
||||
principal: "docs/README.md"
|
||||
mapa: "docs/_MAP.md"
|
||||
vision: "docs/00-vision-general/"
|
||||
|
||||
definiciones:
|
||||
indice: "docs/_definitions/_INDEX.yml"
|
||||
database: "docs/_definitions/DATABASE-SCHEMA.md"
|
||||
entities: "docs/_definitions/ENTITIES-CATALOG.md"
|
||||
modules: "docs/_definitions/MODULES-CATALOG.md"
|
||||
services: "docs/_definitions/SERVICES-CATALOG.md"
|
||||
|
||||
orchestration:
|
||||
indice: "orchestration/_MAP.md"
|
||||
inventarios: "orchestration/inventarios/"
|
||||
trazas: "orchestration/trazas/"
|
||||
|
||||
# ============================================================================
|
||||
# INDICES RAPIDOS
|
||||
# ============================================================================
|
||||
indices_rapidos:
|
||||
modulos: "QUICK-MODULES.yml"
|
||||
database: "QUICK-DATABASE.yml"
|
||||
api: "QUICK-API.yml"
|
||||
|
||||
# ============================================================================
|
||||
# ATAJOS POR ROL
|
||||
# ============================================================================
|
||||
por_rol:
|
||||
backend_developer:
|
||||
- "docs/_definitions/ENTITIES-CATALOG.md"
|
||||
- "docs/_definitions/SERVICES-CATALOG.md"
|
||||
- "orchestration/inventarios/BACKEND_INVENTORY.yml"
|
||||
- "apps/backend/src/modules/"
|
||||
|
||||
frontend_developer:
|
||||
- "docs/_quick/QUICK-API.yml"
|
||||
- "orchestration/inventarios/FRONTEND_INVENTORY.yml"
|
||||
- "apps/frontend/src/"
|
||||
|
||||
mobile_developer:
|
||||
- "apps/mobile/src/"
|
||||
- "docs/01-epicas/MCH-022-modo-offline.md"
|
||||
|
||||
database_admin:
|
||||
- "docs/_definitions/DATABASE-SCHEMA.md"
|
||||
- "docs/_quick/QUICK-DATABASE.yml"
|
||||
- "orchestration/inventarios/DATABASE_INVENTORY.yml"
|
||||
- "database/ddl/"
|
||||
|
||||
architect:
|
||||
- "docs/00-vision-general/"
|
||||
- "docs/_definitions/MODULES-CATALOG.md"
|
||||
- "orchestration/DEPENDENCY-GRAPH.yml"
|
||||
- "docs/02-especificaciones/ARQUITECTURA-DATABASE.md"
|
||||
|
||||
product_owner:
|
||||
- "docs/_MAP.md"
|
||||
- "docs/01-epicas/"
|
||||
- "orchestration/PROJECT-STATUS.md"
|
||||
|
||||
# ============================================================================
|
||||
# APPS DEL PROYECTO
|
||||
# ============================================================================
|
||||
aplicaciones:
|
||||
backend:
|
||||
ruta: "apps/backend/"
|
||||
puerto: 3141
|
||||
tecnologia: "NestJS 10.3.0"
|
||||
documentacion: "orchestration/inventarios/BACKEND_INVENTORY.yml"
|
||||
|
||||
frontend:
|
||||
ruta: "apps/frontend/"
|
||||
puerto: 3140
|
||||
tecnologia: "React 19.2.0 + Vite 7.2.4"
|
||||
documentacion: "orchestration/inventarios/FRONTEND_INVENTORY.yml"
|
||||
|
||||
mobile:
|
||||
ruta: "apps/mobile/"
|
||||
puerto: 8081
|
||||
tecnologia: "React Native + Expo"
|
||||
documentacion: "apps/mobile/README.md"
|
||||
|
||||
mcp_server:
|
||||
ruta: "apps/mcp-server/"
|
||||
puerto: 3142
|
||||
tecnologia: "TypeScript + MCP SDK"
|
||||
documentacion: "apps/mcp-server/README.md"
|
||||
|
||||
whatsapp_service:
|
||||
ruta: "apps/whatsapp-service/"
|
||||
puerto: 3143
|
||||
tecnologia: "NestJS + Meta Cloud API"
|
||||
documentacion: "apps/whatsapp-service/README.md"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS A WORKSPACE
|
||||
# ============================================================================
|
||||
workspace:
|
||||
quick_index: "@WS_QUICK_INDEX"
|
||||
definitions: "@WS_DEF_*"
|
||||
catalog: "shared/catalog/"
|
||||
185
docs/_quick/QUICK-MODULES.yml
Normal file
185
docs/_quick/QUICK-MODULES.yml
Normal file
@ -0,0 +1,185 @@
|
||||
# Navegacion Rapida de Modulos - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
|
||||
# ============================================================================
|
||||
# MODULOS POR ESTADO
|
||||
# ============================================================================
|
||||
por_estado:
|
||||
produccion:
|
||||
# Fase 1 - Infraestructura Base
|
||||
- id: "MCH-M01"
|
||||
nombre: "Auth"
|
||||
ruta: "apps/backend/src/modules/auth/"
|
||||
epica: "MCH-002"
|
||||
|
||||
- id: "MCH-M02"
|
||||
nombre: "Users"
|
||||
ruta: "apps/backend/src/modules/users/"
|
||||
epica: "MCH-001"
|
||||
|
||||
- id: "MCH-M03"
|
||||
nombre: "Stores"
|
||||
ruta: "apps/backend/src/modules/stores/"
|
||||
epica: "MCH-001"
|
||||
|
||||
- id: "MCH-M04"
|
||||
nombre: "Products"
|
||||
ruta: "apps/backend/src/modules/products/"
|
||||
epica: "MCH-003"
|
||||
|
||||
- id: "MCH-M05"
|
||||
nombre: "Sales (POS)"
|
||||
ruta: "apps/backend/src/modules/sales/"
|
||||
epica: "MCH-004"
|
||||
|
||||
- id: "MCH-M06"
|
||||
nombre: "Payments"
|
||||
ruta: "apps/backend/src/modules/payments/"
|
||||
epica: "MCH-005"
|
||||
|
||||
# Fase 2-3 - Inteligencia
|
||||
- id: "MCH-M07"
|
||||
nombre: "Onboarding"
|
||||
ruta: "apps/backend/src/modules/onboarding/"
|
||||
epica: "MCH-006"
|
||||
|
||||
- id: "MCH-M08"
|
||||
nombre: "Templates"
|
||||
ruta: "apps/backend/src/modules/templates/"
|
||||
epica: "MCH-007"
|
||||
|
||||
- id: "MCH-M09"
|
||||
nombre: "Fiados"
|
||||
ruta: "apps/backend/src/modules/fiados/"
|
||||
epica: "MCH-008"
|
||||
|
||||
- id: "MCH-M10"
|
||||
nombre: "Predictions"
|
||||
ruta: "apps/backend/src/modules/predictions/"
|
||||
epica: "MCH-009"
|
||||
|
||||
- id: "MCH-M11"
|
||||
nombre: "MCP Server"
|
||||
ruta: "apps/mcp-server/"
|
||||
epica: "MCH-010"
|
||||
|
||||
- id: "MCH-M12"
|
||||
nombre: "WhatsApp"
|
||||
ruta: "apps/whatsapp-service/"
|
||||
epica: "MCH-011"
|
||||
|
||||
- id: "MCH-M13"
|
||||
nombre: "LLM Chat"
|
||||
ruta: "apps/backend/src/modules/llm/"
|
||||
epica: "MCH-012/013"
|
||||
|
||||
# Fase 4-5 - Negocio
|
||||
- id: "MCH-M14"
|
||||
nombre: "Customers"
|
||||
ruta: "apps/backend/src/modules/customers/"
|
||||
epica: "MCH-014"
|
||||
|
||||
- id: "MCH-M15"
|
||||
nombre: "Orders"
|
||||
ruta: "apps/backend/src/modules/orders/"
|
||||
epica: "MCH-015"
|
||||
|
||||
- id: "MCH-M16"
|
||||
nombre: "Deliveries"
|
||||
ruta: "apps/backend/src/modules/deliveries/"
|
||||
epica: "MCH-016"
|
||||
|
||||
- id: "MCH-M17"
|
||||
nombre: "Notifications"
|
||||
ruta: "apps/backend/src/modules/notifications/"
|
||||
epica: "MCH-017"
|
||||
|
||||
- id: "MCH-M18"
|
||||
nombre: "Subscriptions"
|
||||
ruta: "apps/backend/src/modules/subscriptions/"
|
||||
epica: "MCH-018/019/020"
|
||||
|
||||
desarrollo: []
|
||||
|
||||
planificado:
|
||||
- id: "MCH-M19"
|
||||
nombre: "Referidos"
|
||||
epica: "MCH-023"
|
||||
|
||||
- id: "MCH-M20"
|
||||
nombre: "CoDi/SPEI"
|
||||
epica: "MCH-024"
|
||||
|
||||
- id: "MCH-M21"
|
||||
nombre: "Analytics"
|
||||
epica: "MCH-034"
|
||||
|
||||
- id: "MCH-M22"
|
||||
nombre: "Reports"
|
||||
epica: "MCH-035"
|
||||
|
||||
# ============================================================================
|
||||
# MODULOS POR CATEGORIA
|
||||
# ============================================================================
|
||||
por_categoria:
|
||||
foundation:
|
||||
descripcion: "Modulos base del sistema"
|
||||
modulos:
|
||||
- { id: "MCH-M01", nombre: "Auth", estado: "produccion" }
|
||||
- { id: "MCH-M02", nombre: "Users", estado: "produccion" }
|
||||
- { id: "MCH-M03", nombre: "Stores", estado: "produccion" }
|
||||
|
||||
business:
|
||||
descripcion: "Modulos de negocio"
|
||||
modulos:
|
||||
- { id: "MCH-M04", nombre: "Products", estado: "produccion" }
|
||||
- { id: "MCH-M05", nombre: "Sales", estado: "produccion" }
|
||||
- { id: "MCH-M09", nombre: "Fiados", estado: "produccion" }
|
||||
- { id: "MCH-M14", nombre: "Customers", estado: "produccion" }
|
||||
- { id: "MCH-M15", nombre: "Orders", estado: "produccion" }
|
||||
- { id: "MCH-M16", nombre: "Deliveries", estado: "produccion" }
|
||||
|
||||
integration:
|
||||
descripcion: "Integraciones externas"
|
||||
modulos:
|
||||
- { id: "MCH-M06", nombre: "Payments", estado: "produccion" }
|
||||
- { id: "MCH-M11", nombre: "MCP Server", estado: "produccion" }
|
||||
- { id: "MCH-M12", nombre: "WhatsApp", estado: "produccion" }
|
||||
- { id: "MCH-M13", nombre: "LLM Chat", estado: "produccion" }
|
||||
|
||||
saas:
|
||||
descripcion: "Modulos SaaS/Monetizacion"
|
||||
modulos:
|
||||
- { id: "MCH-M18", nombre: "Subscriptions", estado: "produccion" }
|
||||
- { id: "MCH-M07", nombre: "Onboarding", estado: "produccion" }
|
||||
|
||||
analytics:
|
||||
descripcion: "Reportes y analytics"
|
||||
modulos:
|
||||
- { id: "MCH-M10", nombre: "Predictions", estado: "produccion" }
|
||||
- { id: "MCH-M21", nombre: "Analytics", estado: "planificado" }
|
||||
- { id: "MCH-M22", nombre: "Reports", estado: "planificado" }
|
||||
|
||||
# ============================================================================
|
||||
# BUSQUEDA RAPIDA
|
||||
# ============================================================================
|
||||
busqueda:
|
||||
por_prefijo:
|
||||
MCH-M: "Modulo MiChangarrito"
|
||||
|
||||
por_archivo:
|
||||
especificacion: "docs/01-epicas/MCH-*.md"
|
||||
entities: "apps/backend/src/modules/*/entities/*.entity.ts"
|
||||
services: "apps/backend/src/modules/*/services/*.service.ts"
|
||||
controllers: "apps/backend/src/modules/*/controllers/*.controller.ts"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS
|
||||
# ============================================================================
|
||||
referencias:
|
||||
catalogo_completo: "@MCH_DEF_MODULES"
|
||||
indice_general: "docs/_MAP.md"
|
||||
241
orchestration/DEPENDENCY-GRAPH.yml
Normal file
241
orchestration/DEPENDENCY-GRAPH.yml
Normal file
@ -0,0 +1,241 @@
|
||||
# Grafo de Dependencias - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
fecha_creacion: "2026-01-16"
|
||||
|
||||
# ============================================================================
|
||||
# DEPENDENCIAS EXTERNAS (NPM, etc.)
|
||||
# ============================================================================
|
||||
dependencias_externas:
|
||||
backend:
|
||||
framework: "NestJS"
|
||||
version: "^10.3.0"
|
||||
principales:
|
||||
- nombre: "@nestjs/core"
|
||||
version: "^10.3.0"
|
||||
uso: "Framework core"
|
||||
- nombre: "@nestjs/typeorm"
|
||||
version: "^10.0.0"
|
||||
uso: "ORM integration"
|
||||
- nombre: "@nestjs/jwt"
|
||||
version: "^10.2.0"
|
||||
uso: "JWT authentication"
|
||||
- nombre: "@nestjs/passport"
|
||||
version: "^10.0.0"
|
||||
uso: "Auth strategies"
|
||||
- nombre: "stripe"
|
||||
version: "^14.0.0"
|
||||
uso: "Payment processing"
|
||||
- nombre: "typeorm"
|
||||
version: "^0.3.20"
|
||||
uso: "Database ORM"
|
||||
|
||||
frontend:
|
||||
framework: "React"
|
||||
version: "^19.2.0"
|
||||
principales:
|
||||
- nombre: "react"
|
||||
version: "^19.2.0"
|
||||
uso: "UI Framework"
|
||||
- nombre: "vite"
|
||||
version: "^7.2.4"
|
||||
uso: "Build tool"
|
||||
- nombre: "@tanstack/react-query"
|
||||
version: "^5.0.0"
|
||||
uso: "Data fetching"
|
||||
- nombre: "zustand"
|
||||
version: "^4.5.0"
|
||||
uso: "State management"
|
||||
|
||||
mobile:
|
||||
framework: "React Native + Expo"
|
||||
principales:
|
||||
- nombre: "expo"
|
||||
version: "^50.0.0"
|
||||
uso: "Mobile development"
|
||||
- nombre: "react-native"
|
||||
version: "^0.73.0"
|
||||
uso: "Mobile UI"
|
||||
|
||||
database:
|
||||
tipo: "PostgreSQL"
|
||||
version: "16+"
|
||||
orm: "TypeORM"
|
||||
|
||||
cache:
|
||||
tipo: "Redis"
|
||||
version: "7+"
|
||||
|
||||
# ============================================================================
|
||||
# DEPENDENCIAS INTERNAS (Entre modulos del proyecto)
|
||||
# ============================================================================
|
||||
dependencias_internas:
|
||||
modulos:
|
||||
auth:
|
||||
depende_de: []
|
||||
dependientes: ["users", "stores", "subscriptions"]
|
||||
descripcion: "Modulo base de autenticacion"
|
||||
|
||||
users:
|
||||
depende_de: ["auth"]
|
||||
dependientes: ["stores", "subscriptions"]
|
||||
descripcion: "Gestion de usuarios"
|
||||
|
||||
stores:
|
||||
depende_de: ["auth", "users"]
|
||||
dependientes: ["products", "sales", "customers", "orders", "fiados"]
|
||||
descripcion: "Gestion de tiendas"
|
||||
|
||||
products:
|
||||
depende_de: ["stores"]
|
||||
dependientes: ["sales", "orders", "predictions"]
|
||||
descripcion: "Catalogo de productos"
|
||||
|
||||
sales:
|
||||
depende_de: ["stores", "products", "customers", "payments"]
|
||||
dependientes: ["fiados", "analytics"]
|
||||
descripcion: "Punto de venta"
|
||||
|
||||
customers:
|
||||
depende_de: ["stores"]
|
||||
dependientes: ["sales", "orders", "fiados"]
|
||||
descripcion: "Gestion de clientes"
|
||||
|
||||
fiados:
|
||||
depende_de: ["stores", "customers", "sales"]
|
||||
dependientes: []
|
||||
descripcion: "Sistema de creditos"
|
||||
|
||||
orders:
|
||||
depende_de: ["stores", "products", "customers"]
|
||||
dependientes: ["deliveries", "notifications"]
|
||||
descripcion: "Pedidos"
|
||||
|
||||
deliveries:
|
||||
depende_de: ["orders"]
|
||||
dependientes: ["notifications"]
|
||||
descripcion: "Entregas a domicilio"
|
||||
|
||||
payments:
|
||||
depende_de: []
|
||||
dependientes: ["sales", "subscriptions"]
|
||||
descripcion: "Procesamiento de pagos (Stripe)"
|
||||
|
||||
subscriptions:
|
||||
depende_de: ["users", "payments"]
|
||||
dependientes: []
|
||||
descripcion: "Planes y suscripciones"
|
||||
|
||||
notifications:
|
||||
depende_de: ["orders", "deliveries"]
|
||||
dependientes: []
|
||||
descripcion: "Sistema de notificaciones"
|
||||
|
||||
whatsapp:
|
||||
depende_de: ["llm"]
|
||||
dependientes: ["orders", "notifications"]
|
||||
descripcion: "Integracion WhatsApp"
|
||||
|
||||
llm:
|
||||
depende_de: []
|
||||
dependientes: ["whatsapp", "predictions"]
|
||||
descripcion: "Integracion LLM/IA"
|
||||
|
||||
predictions:
|
||||
depende_de: ["products", "sales", "llm"]
|
||||
dependientes: []
|
||||
descripcion: "Predicciones de inventario"
|
||||
|
||||
# ============================================================================
|
||||
# DEPENDENCIAS DE WORKSPACE
|
||||
# ============================================================================
|
||||
dependencias_workspace:
|
||||
definiciones:
|
||||
- "@WS_DEF_CCA"
|
||||
- "@WS_DEF_VAL_BE"
|
||||
- "@WS_DEF_VAL_FE"
|
||||
- "@WS_DEF_VAL_DDL"
|
||||
|
||||
catalogos: []
|
||||
# MiChangarrito no usa catalogos compartidos actualmente
|
||||
|
||||
# ============================================================================
|
||||
# DEPENDENCIAS DE OTROS PROYECTOS
|
||||
# ============================================================================
|
||||
dependencias_proyectos:
|
||||
# MiChangarrito es proyecto independiente (nivel 0)
|
||||
proyectos: []
|
||||
|
||||
# ============================================================================
|
||||
# GRAFO VISUAL
|
||||
# ============================================================================
|
||||
grafo:
|
||||
formato: "mermaid"
|
||||
diagrama: |
|
||||
graph TD
|
||||
subgraph Foundation
|
||||
AUTH[Auth]
|
||||
USERS[Users]
|
||||
STORES[Stores]
|
||||
end
|
||||
|
||||
subgraph Business
|
||||
PROD[Products]
|
||||
SALES[Sales/POS]
|
||||
CUST[Customers]
|
||||
FIADOS[Fiados]
|
||||
ORDERS[Orders]
|
||||
DELIV[Deliveries]
|
||||
end
|
||||
|
||||
subgraph Integrations
|
||||
PAY[Payments]
|
||||
WA[WhatsApp]
|
||||
LLM[LLM/IA]
|
||||
NOTIF[Notifications]
|
||||
end
|
||||
|
||||
subgraph SaaS
|
||||
SUBS[Subscriptions]
|
||||
PRED[Predictions]
|
||||
end
|
||||
|
||||
AUTH --> USERS
|
||||
USERS --> STORES
|
||||
STORES --> PROD
|
||||
STORES --> CUST
|
||||
STORES --> SALES
|
||||
PROD --> SALES
|
||||
CUST --> SALES
|
||||
PAY --> SALES
|
||||
CUST --> FIADOS
|
||||
SALES --> FIADOS
|
||||
CUST --> ORDERS
|
||||
PROD --> ORDERS
|
||||
ORDERS --> DELIV
|
||||
ORDERS --> NOTIF
|
||||
DELIV --> NOTIF
|
||||
USERS --> SUBS
|
||||
PAY --> SUBS
|
||||
LLM --> WA
|
||||
LLM --> PRED
|
||||
PROD --> PRED
|
||||
SALES --> PRED
|
||||
|
||||
subgraph Workspace
|
||||
WS[Definiciones WS]
|
||||
end
|
||||
|
||||
AUTH --> WS
|
||||
|
||||
# ============================================================================
|
||||
# ESTADISTICAS
|
||||
# ============================================================================
|
||||
estadisticas:
|
||||
total_dependencias_externas: 12
|
||||
total_dependencias_internas: 15
|
||||
total_dependencias_workspace: 4
|
||||
ultima_actualizacion: "2026-01-16"
|
||||
225
orchestration/TRACEABILITY.yml
Normal file
225
orchestration/TRACEABILITY.yml
Normal file
@ -0,0 +1,225 @@
|
||||
# Trazabilidad del Proyecto - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
fecha_creacion: "2026-01-16"
|
||||
|
||||
# ============================================================================
|
||||
# TRAZABILIDAD MODULO <-> OBJETOS
|
||||
# ============================================================================
|
||||
trazabilidad_modulos:
|
||||
MCH-M01:
|
||||
nombre: "Authentication"
|
||||
epica: "MCH-002"
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-002-autenticacion.md"
|
||||
requerimientos: ["RF-AUTH-001", "RF-AUTH-002"]
|
||||
|
||||
objetos_bd:
|
||||
tablas: ["users", "sessions", "refresh_tokens"]
|
||||
schemas: ["public"]
|
||||
|
||||
objetos_backend:
|
||||
entities: ["User", "Session", "RefreshToken"]
|
||||
services: ["AuthService", "JwtService", "SessionService"]
|
||||
controllers: ["AuthController"]
|
||||
guards: ["JwtAuthGuard", "RolesGuard"]
|
||||
|
||||
objetos_frontend:
|
||||
componentes: ["LoginForm", "RegisterForm"]
|
||||
stores: ["authStore"]
|
||||
hooks: ["useAuth"]
|
||||
|
||||
MCH-M03:
|
||||
nombre: "Stores"
|
||||
epica: "MCH-001"
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-001-infraestructura-base.md"
|
||||
|
||||
objetos_bd:
|
||||
tablas: ["stores", "store_settings", "store_hours"]
|
||||
schemas: ["stores"]
|
||||
|
||||
objetos_backend:
|
||||
entities: ["Store", "StoreSettings", "StoreHours"]
|
||||
services: ["StoresService", "StoreSettingsService"]
|
||||
controllers: ["StoresController"]
|
||||
|
||||
objetos_frontend:
|
||||
componentes: ["StoreSelector", "StoreForm", "StoreSettings"]
|
||||
stores: ["storeStore"]
|
||||
|
||||
MCH-M05:
|
||||
nombre: "Sales (POS)"
|
||||
epica: "MCH-004"
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-004-punto-venta.md"
|
||||
requerimientos: ["RF-POS-001", "RF-POS-002", "RF-POS-003"]
|
||||
|
||||
objetos_bd:
|
||||
tablas: ["sales", "sale_items", "payments", "cash_registers"]
|
||||
schemas: ["sales"]
|
||||
|
||||
objetos_backend:
|
||||
entities: ["Sale", "SaleItem", "Payment", "CashRegister"]
|
||||
services: ["SalesService", "PaymentsService", "CashRegisterService"]
|
||||
controllers: ["SalesController", "PaymentsController"]
|
||||
|
||||
objetos_frontend:
|
||||
componentes: ["POSTerminal", "ProductGrid", "Cart", "PaymentModal"]
|
||||
stores: ["posStore"]
|
||||
hooks: ["usePOS", "useCart"]
|
||||
|
||||
MCH-M09:
|
||||
nombre: "Fiados"
|
||||
epica: "MCH-008"
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-008-sistema-fiados.md"
|
||||
|
||||
objetos_bd:
|
||||
tablas: ["fiados", "fiado_payments", "credit_limits"]
|
||||
schemas: ["fiados"]
|
||||
|
||||
objetos_backend:
|
||||
entities: ["Fiado", "FiadoPayment", "CreditLimit"]
|
||||
services: ["FiadosService", "CreditService"]
|
||||
controllers: ["FiadosController"]
|
||||
|
||||
objetos_frontend:
|
||||
componentes: ["FiadosList", "FiadoDetail", "PaymentForm"]
|
||||
hooks: ["useFiados"]
|
||||
|
||||
MCH-M15:
|
||||
nombre: "Orders"
|
||||
epica: "MCH-015"
|
||||
documentacion:
|
||||
especificacion: "docs/01-epicas/MCH-015-pedidos-whatsapp.md"
|
||||
|
||||
objetos_bd:
|
||||
tablas: ["orders", "order_items", "deliveries"]
|
||||
schemas: ["orders"]
|
||||
|
||||
objetos_backend:
|
||||
entities: ["Order", "OrderItem", "Delivery"]
|
||||
services: ["OrdersService", "DeliveriesService"]
|
||||
controllers: ["OrdersController"]
|
||||
|
||||
objetos_frontend:
|
||||
componentes: ["OrdersList", "OrderDetail", "OrderStatus"]
|
||||
|
||||
# ============================================================================
|
||||
# MATRIZ DE COBERTURA
|
||||
# ============================================================================
|
||||
cobertura:
|
||||
total_modulos: 18
|
||||
con_documentacion: 18
|
||||
con_tests: 0
|
||||
con_trazabilidad_completa: 5
|
||||
|
||||
detalle:
|
||||
MCH-M01:
|
||||
documentacion: true
|
||||
especificacion: true
|
||||
requerimientos: true
|
||||
historias: false
|
||||
tests_unitarios: false
|
||||
tests_integracion: false
|
||||
|
||||
MCH-M05:
|
||||
documentacion: true
|
||||
especificacion: true
|
||||
requerimientos: true
|
||||
historias: false
|
||||
tests_unitarios: false
|
||||
tests_integracion: false
|
||||
|
||||
MCH-M09:
|
||||
documentacion: true
|
||||
especificacion: true
|
||||
requerimientos: false
|
||||
historias: false
|
||||
tests_unitarios: false
|
||||
tests_integracion: false
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS CRUZADAS
|
||||
# ============================================================================
|
||||
referencias_cruzadas:
|
||||
por_documento:
|
||||
"MCH-002-autenticacion.md":
|
||||
modulos: ["MCH-M01"]
|
||||
tablas: ["users", "sessions", "refresh_tokens"]
|
||||
entities: ["User", "Session", "RefreshToken"]
|
||||
|
||||
"MCH-004-punto-venta.md":
|
||||
modulos: ["MCH-M05"]
|
||||
tablas: ["sales", "sale_items", "payments"]
|
||||
entities: ["Sale", "SaleItem", "Payment"]
|
||||
|
||||
"MCH-008-sistema-fiados.md":
|
||||
modulos: ["MCH-M09"]
|
||||
tablas: ["fiados", "fiado_payments"]
|
||||
entities: ["Fiado", "FiadoPayment"]
|
||||
|
||||
por_modulo:
|
||||
MCH-M01:
|
||||
documentos:
|
||||
- "MCH-002-autenticacion.md"
|
||||
|
||||
MCH-M05:
|
||||
documentos:
|
||||
- "MCH-004-punto-venta.md"
|
||||
|
||||
MCH-M09:
|
||||
documentos:
|
||||
- "MCH-008-sistema-fiados.md"
|
||||
|
||||
# ============================================================================
|
||||
# IMPACTO DE CAMBIOS
|
||||
# ============================================================================
|
||||
impacto:
|
||||
users:
|
||||
tipo: "tabla"
|
||||
impacta:
|
||||
entities: ["User"]
|
||||
services: ["AuthService", "UsersService"]
|
||||
controllers: ["AuthController", "UsersController"]
|
||||
documentos: ["MCH-002-autenticacion.md"]
|
||||
modulos: ["MCH-M01", "MCH-M02"]
|
||||
|
||||
stores:
|
||||
tipo: "tabla"
|
||||
impacta:
|
||||
entities: ["Store"]
|
||||
services: ["StoresService", "ProductsService", "SalesService"]
|
||||
documentos: ["MCH-001-infraestructura-base.md"]
|
||||
modulos: ["MCH-M03", "MCH-M04", "MCH-M05"]
|
||||
|
||||
sales:
|
||||
tipo: "tabla"
|
||||
impacta:
|
||||
entities: ["Sale"]
|
||||
services: ["SalesService", "FiadosService"]
|
||||
documentos: ["MCH-004-punto-venta.md", "MCH-008-sistema-fiados.md"]
|
||||
modulos: ["MCH-M05", "MCH-M09"]
|
||||
|
||||
# ============================================================================
|
||||
# HISTORIAL DE CAMBIOS
|
||||
# ============================================================================
|
||||
historial:
|
||||
- fecha: "2026-01-16"
|
||||
tipo: "creacion"
|
||||
descripcion: "Trazabilidad inicial del proyecto"
|
||||
autor: "Claude"
|
||||
|
||||
# ============================================================================
|
||||
# ESTADISTICAS
|
||||
# ============================================================================
|
||||
estadisticas:
|
||||
modulos_mapeados: 5
|
||||
tablas_mapeadas: 15
|
||||
entities_mapeadas: 15
|
||||
documentos_referenciados: 5
|
||||
ultima_actualizacion: "2026-01-16"
|
||||
113
orchestration/_refs/WS-REFERENCES.yml
Normal file
113
orchestration/_refs/WS-REFERENCES.yml
Normal file
@ -0,0 +1,113 @@
|
||||
# Referencias a Workspace - MiChangarrito
|
||||
# Proyecto: michangarrito
|
||||
# Fecha: 2026-01-16
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "michangarrito"
|
||||
fecha_creacion: "2026-01-16"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS A DEFINICIONES GLOBALES
|
||||
# ============================================================================
|
||||
definiciones_workspace:
|
||||
protocolos:
|
||||
CCA:
|
||||
alias: "@WS_DEF_CCA"
|
||||
archivo: "orchestration/_definitions/protocols/CCA-PROTOCOL.md"
|
||||
uso: "Protocolo de Carga de Contexto Automatica"
|
||||
|
||||
CCA_LIGHT:
|
||||
alias: "@WS_DEF_CCA_LIGHT"
|
||||
archivo: "orchestration/_definitions/protocols/CCA-LIGHT.md"
|
||||
uso: "Version ligera para subagentes"
|
||||
|
||||
validaciones:
|
||||
backend:
|
||||
alias: "@WS_DEF_VAL_BE"
|
||||
archivo: "orchestration/_definitions/validations/VALIDATION-BACKEND.md"
|
||||
comandos: ["npm run build", "npm run lint", "npm run test"]
|
||||
|
||||
frontend:
|
||||
alias: "@WS_DEF_VAL_FE"
|
||||
archivo: "orchestration/_definitions/validations/VALIDATION-FRONTEND.md"
|
||||
comandos: ["npm run build", "npm run lint", "npm run typecheck"]
|
||||
|
||||
ddl:
|
||||
alias: "@WS_DEF_VAL_DDL"
|
||||
archivo: "orchestration/_definitions/validations/VALIDATION-DDL.md"
|
||||
|
||||
devops:
|
||||
alias: "@WS_DEF_VAL_DEVOPS"
|
||||
archivo: "orchestration/_definitions/validations/VALIDATION-DEVOPS.md"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS A NAVEGACION RAPIDA GLOBAL
|
||||
# ============================================================================
|
||||
navegacion_workspace:
|
||||
indice:
|
||||
alias: "@WS_QUICK_INDEX"
|
||||
archivo: "orchestration/_quick/QUICK-INDEX.yml"
|
||||
|
||||
perfiles:
|
||||
alias: "@WS_QUICK_PERFILES"
|
||||
archivo: "orchestration/_quick/QUICK-PERFILES.yml"
|
||||
|
||||
directivas:
|
||||
alias: "@WS_QUICK_DIRECTIVAS"
|
||||
archivo: "orchestration/_quick/QUICK-DIRECTIVAS.yml"
|
||||
|
||||
# ============================================================================
|
||||
# REFERENCIAS A CATALOGO COMPARTIDO
|
||||
# ============================================================================
|
||||
catalogo_compartido:
|
||||
indice:
|
||||
alias: "@WS_CATALOG"
|
||||
archivo: "shared/catalog/CATALOG-INDEX.yml"
|
||||
|
||||
funcionalidades:
|
||||
auth: "shared/catalog/auth/"
|
||||
notifications: "shared/catalog/notifications/"
|
||||
payments: "shared/catalog/payments/"
|
||||
multi_tenancy: "shared/catalog/multi-tenancy/"
|
||||
|
||||
# ============================================================================
|
||||
# HERENCIA DE PROYECTO (Independiente - Nivel 0)
|
||||
# ============================================================================
|
||||
herencia:
|
||||
padre: null
|
||||
nivel: 0
|
||||
hereda_de: []
|
||||
descripcion: "Proyecto independiente sin herencia de otros proyectos"
|
||||
|
||||
# ============================================================================
|
||||
# PROPAGACION
|
||||
# ============================================================================
|
||||
propagacion:
|
||||
mirror: "shared/mirrors/michangarrito/"
|
||||
status: "shared/mirrors/michangarrito/PROPAGATION-STATUS.yml"
|
||||
consumidores: []
|
||||
descripcion: "MiChangarrito no tiene proyectos consumidores actualmente"
|
||||
|
||||
# ============================================================================
|
||||
# ALIASES LOCALES DEL PROYECTO
|
||||
# ============================================================================
|
||||
aliases_locales:
|
||||
definiciones:
|
||||
database: "@MCH_DEF_DB"
|
||||
entities: "@MCH_DEF_ENTITIES"
|
||||
services: "@MCH_DEF_SERVICES"
|
||||
modules: "@MCH_DEF_MODULES"
|
||||
|
||||
navegacion:
|
||||
quick_index: "@MCH_QUICK_INDEX"
|
||||
quick_api: "@MCH_QUICK_API"
|
||||
quick_db: "@MCH_QUICK_DB"
|
||||
quick_modules: "@MCH_QUICK_MODULES"
|
||||
|
||||
# ============================================================================
|
||||
# ESTADISTICAS
|
||||
# ============================================================================
|
||||
estadisticas:
|
||||
referencias_ws: 10
|
||||
aliases_locales: 8
|
||||
ultima_actualizacion: "2026-01-16"
|
||||
Loading…
Reference in New Issue
Block a user