[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:
rckrdmrd 2026-01-16 04:14:27 -06:00
parent 5a49ad0185
commit 67f5bb830d
13 changed files with 2078 additions and 3 deletions

View File

@ -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

View 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*

View 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*

View 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*

View 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*

View 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
View 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"

View 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
View 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/"

View 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"

View 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"

View 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"

View 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"