Validacion completa de documentacion tecnica contra codigo real: - ENTITIES-CATALOG.md: 35+ -> 38 entities (validado) - SERVICES-CATALOG.md: 30+ -> 18 services (validado) - MODULES-CATALOG.md: 24 -> 17 modulos (validado) - DATABASE-SCHEMA.md: Corregido - TypeORM genera tablas, no hay SQL separado - _INDEX.yml: Metricas actualizadas y marcadas como validadas - MASTER_INVENTORY.yml: Sincronizado con conteos reales Discrepancias corregidas: - La doc anterior incluia objetos planificados como implementados - Schemas 15 -> 1 (public, TypeORM) - Tablas ~65 -> 38 (1:1 con entities) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.5 KiB
8.5 KiB
| id | type | title | simco_version | updated_at | validated |
|---|---|---|---|---|---|
| DEF-MCH-MODULES | Definition | Modules Catalog | 4.0.1 | 2026-01-17 | true |
Modules Catalog - MiChangarrito
Alias: @MCH_DEF_MODULES Version: 2.0.0 Ultima actualizacion: 2026-01-17 Estado: VALIDADO vs Codigo
1. RESUMEN
| Metrica | Valor |
|---|---|
| Total Modulos Backend | 17 |
| Total Controllers | 19 |
| Total Services | 18 |
| Total Entities | 38 |
2. INDICE DE MODULOS IMPLEMENTADOS
| # | Modulo | Entities | Services | Controllers | Estado |
|---|---|---|---|---|---|
| 1 | auth | 2 | 1 | 1 | Produccion |
| 2 | billing | 0 | 1 | 1 | Produccion |
| 3 | categories | 1 | 1 | 1 | Produccion |
| 4 | codi-spei | 3 | 1 | 1 | Produccion |
| 5 | customers | 3 | 1 | 1 | Produccion |
| 6 | integrations | 2 | 1 | 2 | Produccion |
| 7 | inventory | 2 | 1 | 1 | Produccion |
| 8 | invoices | 3 | 1 | 1 | Produccion |
| 9 | marketplace | 6 | 1 | 1 | Produccion |
| 10 | messaging | 3 | 1 | 1 | Produccion |
| 11 | orders | 2 | 1 | 1 | Produccion |
| 12 | payments | 1 | 2 | 2 | Produccion |
| 13 | products | 1 | 1 | 1 | Produccion |
| 14 | referrals | 3 | 1 | 1 | Produccion |
| 15 | sales | 2 | 1 | 1 | Produccion |
| 16 | subscriptions | 4 | 1 | 1 | Produccion |
| 17 | widgets | 0 | 1 | 1 | Produccion |
3. DETALLE POR MODULO
3.1 auth
modulo:
nombre: "auth"
ruta: "backend/src/modules/auth"
estado: "produccion"
descripcion: "Autenticacion JWT multi-tenant"
objetos:
entities: [Tenant, User]
services: [AuthService]
controllers: [AuthController]
guards: [JwtAuthGuard]
strategies: [JwtStrategy]
endpoints:
- POST /v1/auth/register
- POST /v1/auth/login
- POST /v1/auth/refresh
- POST /v1/auth/change-pin
3.2 billing
modulo:
nombre: "billing"
ruta: "backend/src/modules/billing"
estado: "produccion"
descripcion: "Facturacion CFDI 4.0"
objetos:
entities: []
services: [BillingService]
controllers: [BillingController]
3.3 categories
modulo:
nombre: "categories"
ruta: "backend/src/modules/categories"
estado: "produccion"
descripcion: "Categorias de productos"
objetos:
entities: [Category]
services: [CategoriesService]
controllers: [CategoriesController]
endpoints:
- GET /v1/categories
- GET /v1/categories/:id
- POST /v1/categories
- PUT /v1/categories/:id
- DELETE /v1/categories/:id
3.4 codi-spei
modulo:
nombre: "codi-spei"
ruta: "backend/src/modules/codi-spei"
estado: "produccion"
descripcion: "Pagos CoDi y transferencias SPEI"
objetos:
entities: [CodiTransaction, SpeiTransaction, VirtualAccount]
services: [CodiSpeiService]
controllers: [CodiSpeiController]
3.5 customers
modulo:
nombre: "customers"
ruta: "backend/src/modules/customers"
estado: "produccion"
descripcion: "Clientes y sistema de fiados"
objetos:
entities: [Customer, Fiado, FiadoPayment]
services: [CustomersService]
controllers: [CustomersController]
endpoints:
- GET /v1/customers
- GET /v1/customers/:id
- POST /v1/customers
- PUT /v1/customers/:id
- DELETE /v1/customers/:id
- GET /v1/customers/:id/fiados
- POST /v1/customers/:id/fiados
3.6 integrations
modulo:
nombre: "integrations"
ruta: "backend/src/modules/integrations"
estado: "produccion"
descripcion: "Integraciones externas por tenant"
objetos:
entities: [TenantIntegrationCredential, TenantWhatsappNumber]
services: [TenantIntegrationsService]
controllers: [IntegrationsController, InternalIntegrationsController]
3.7 inventory
modulo:
nombre: "inventory"
ruta: "backend/src/modules/inventory"
estado: "produccion"
descripcion: "Control de stock y alertas"
objetos:
entities: [InventoryMovement, StockAlert]
services: [InventoryService]
controllers: [InventoryController]
endpoints:
- GET /v1/inventory/movements
- POST /v1/inventory/adjust
- GET /v1/inventory/alerts
3.8 invoices
modulo:
nombre: "invoices"
ruta: "backend/src/modules/invoices"
estado: "produccion"
descripcion: "Facturas CFDI"
objetos:
entities: [Invoice, InvoiceItem, TaxConfig]
services: [InvoicesService]
controllers: [InvoicesController]
3.9 marketplace
modulo:
nombre: "marketplace"
ruta: "backend/src/modules/marketplace"
estado: "produccion"
descripcion: "Marketplace B2B de proveedores"
objetos:
entities: [Supplier, SupplierProduct, SupplierOrder, SupplierOrderItem, SupplierReview, SupplierFavorites]
services: [MarketplaceService]
controllers: [MarketplaceController]
3.10 messaging
modulo:
nombre: "messaging"
ruta: "backend/src/modules/messaging"
estado: "produccion"
descripcion: "Conversaciones y notificaciones"
objetos:
entities: [Conversation, Message, Notification]
services: [MessagingService]
controllers: [MessagingController]
3.11 orders
modulo:
nombre: "orders"
ruta: "backend/src/modules/orders"
estado: "produccion"
descripcion: "Pedidos de clientes"
objetos:
entities: [Order, OrderItem]
services: [OrdersService]
controllers: [OrdersController]
endpoints:
- GET /v1/orders
- GET /v1/orders/:id
- POST /v1/orders
- PATCH /v1/orders/:id/status
3.12 payments
modulo:
nombre: "payments"
ruta: "backend/src/modules/payments"
estado: "produccion"
descripcion: "Metodos de pago y Stripe"
objetos:
entities: [PaymentMethod]
services: [PaymentsService, StripeService]
controllers: [PaymentsController, WebhooksController]
3.13 products
modulo:
nombre: "products"
ruta: "backend/src/modules/products"
estado: "produccion"
descripcion: "Catalogo de productos"
objetos:
entities: [Product]
services: [ProductsService]
controllers: [ProductsController]
endpoints:
- GET /v1/products
- GET /v1/products/:id
- GET /v1/products/barcode/:barcode
- POST /v1/products
- PUT /v1/products/:id
- DELETE /v1/products/:id
- PATCH /v1/products/:id/adjust-stock
3.14 referrals
modulo:
nombre: "referrals"
ruta: "backend/src/modules/referrals"
estado: "produccion"
descripcion: "Sistema de referidos"
objetos:
entities: [Referral, ReferralCode, ReferralReward]
services: [ReferralsService]
controllers: [ReferralsController]
3.15 sales
modulo:
nombre: "sales"
ruta: "backend/src/modules/sales"
estado: "produccion"
descripcion: "Punto de venta POS"
objetos:
entities: [Sale, SaleItem]
services: [SalesService]
controllers: [SalesController]
endpoints:
- GET /v1/sales
- GET /v1/sales/:id
- POST /v1/sales
- GET /v1/sales/daily-summary
3.16 subscriptions
modulo:
nombre: "subscriptions"
ruta: "backend/src/modules/subscriptions"
estado: "produccion"
descripcion: "Planes y tokens IA"
objetos:
entities: [Plan, Subscription, TokenBalance, TokenUsage]
services: [SubscriptionsService]
controllers: [SubscriptionsController]
3.17 widgets
modulo:
nombre: "widgets"
ruta: "backend/src/modules/widgets"
estado: "produccion"
descripcion: "Widgets y atajos"
objetos:
entities: []
services: [WidgetsService]
controllers: [WidgetsController]
4. MATRIZ DE DEPENDENCIAS
Leyenda: X = depende de
auth cat cust inv prod sales subs mark msg
auth -
categories -
customers -
inventory - X
products -
sales X X X X -
subscriptions X -
marketplace X -
messaging X -
5. UBICACION EN CODIGO
backend/src/modules/
├── auth/
├── billing/
├── categories/
├── codi-spei/
├── customers/
├── integrations/
├── inventory/
├── invoices/
├── marketplace/
├── messaging/
├── orders/
├── payments/
├── products/
├── referrals/
├── sales/
├── subscriptions/
└── widgets/
6. REFERENCIAS
- Entities: @MCH_DEF_ENTITIES
- Services: @MCH_DEF_SERVICES
- Database: @MCH_DEF_DB
- Backend Inventory: orchestration/inventarios/BACKEND_INVENTORY.yml
Definicion canonica v2.0.0 - MiChangarrito - VALIDADO