- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
499 lines
13 KiB
YAML
499 lines
13 KiB
YAML
# DEPENDENCIAS INVENTORY - MiChangarrito
|
|
# Version: 1.0.0
|
|
# Ultima actualizacion: 2026-01-10
|
|
# Sistema: SIMCO - NEXUS v4.0
|
|
|
|
metadata:
|
|
proyecto: "michangarrito"
|
|
descripcion: "Inventario completo de dependencias del proyecto"
|
|
version: "1.0.0"
|
|
actualizado: "2026-01-10"
|
|
actualizado_por: "Agente Orquestador"
|
|
|
|
# ============================================================================
|
|
# RESUMEN EJECUTIVO
|
|
# ============================================================================
|
|
|
|
resumen:
|
|
total_aplicaciones: 5
|
|
total_dependencias: 86
|
|
dependencias_produccion: 54
|
|
dependencias_desarrollo: 32
|
|
|
|
por_aplicacion:
|
|
backend: 40
|
|
frontend: 24
|
|
mobile: 19
|
|
whatsapp_service: 14
|
|
mcp_server: 6
|
|
|
|
# ============================================================================
|
|
# BACKEND - NestJS API
|
|
# ============================================================================
|
|
|
|
backend:
|
|
nombre: "michangarrito-backend"
|
|
version: "1.0.0"
|
|
tipo: "NestJS Backend API"
|
|
puerto: 3141
|
|
|
|
produccion:
|
|
framework:
|
|
- nombre: "@nestjs/common"
|
|
version: "^10.3.0"
|
|
proposito: "Core NestJS framework"
|
|
- nombre: "@nestjs/core"
|
|
version: "^10.3.0"
|
|
proposito: "NestJS runtime"
|
|
- nombre: "@nestjs/platform-express"
|
|
version: "^10.3.0"
|
|
proposito: "Express.js adapter"
|
|
|
|
database:
|
|
- nombre: "typeorm"
|
|
version: "^0.3.19"
|
|
proposito: "ORM para PostgreSQL"
|
|
- nombre: "@nestjs/typeorm"
|
|
version: "^10.0.1"
|
|
proposito: "Integracion TypeORM-NestJS"
|
|
- nombre: "pg"
|
|
version: "^8.11.3"
|
|
proposito: "Cliente PostgreSQL"
|
|
|
|
autenticacion:
|
|
- nombre: "@nestjs/jwt"
|
|
version: "^10.2.0"
|
|
proposito: "JWT authentication"
|
|
- nombre: "@nestjs/passport"
|
|
version: "^10.0.3"
|
|
proposito: "Passport.js integration"
|
|
- nombre: "passport"
|
|
version: "^0.7.0"
|
|
proposito: "Authentication middleware"
|
|
- nombre: "passport-jwt"
|
|
version: "^4.0.1"
|
|
proposito: "JWT strategy"
|
|
- nombre: "bcrypt"
|
|
version: "^5.1.1"
|
|
proposito: "Password hashing"
|
|
- nombre: "helmet"
|
|
version: "^7.1.0"
|
|
proposito: "HTTP security headers"
|
|
|
|
validacion:
|
|
- nombre: "class-validator"
|
|
version: "^0.14.1"
|
|
proposito: "DTO validation"
|
|
- nombre: "class-transformer"
|
|
version: "^0.5.1"
|
|
proposito: "Data transformation"
|
|
|
|
pagos:
|
|
- nombre: "stripe"
|
|
version: "^20.1.1"
|
|
proposito: "Stripe payments SDK"
|
|
|
|
utilidades:
|
|
- nombre: "@nestjs/config"
|
|
version: "^3.1.1"
|
|
proposito: "Environment config"
|
|
- nombre: "@nestjs/swagger"
|
|
version: "^7.2.0"
|
|
proposito: "API documentation"
|
|
- nombre: "uuid"
|
|
version: "^9.0.1"
|
|
proposito: "UUID generation"
|
|
- nombre: "rxjs"
|
|
version: "^7.8.1"
|
|
proposito: "Reactive programming"
|
|
- nombre: "reflect-metadata"
|
|
version: "^0.2.1"
|
|
proposito: "Decorator metadata"
|
|
|
|
desarrollo:
|
|
testing:
|
|
- nombre: "jest"
|
|
version: "^29.7.0"
|
|
proposito: "Testing framework"
|
|
- nombre: "@nestjs/testing"
|
|
version: "^10.3.0"
|
|
proposito: "NestJS testing utils"
|
|
- nombre: "ts-jest"
|
|
version: "^29.1.1"
|
|
proposito: "TypeScript Jest support"
|
|
- nombre: "supertest"
|
|
version: "^6.3.4"
|
|
proposito: "HTTP testing"
|
|
|
|
linting:
|
|
- nombre: "eslint"
|
|
version: "^8.56.0"
|
|
proposito: "Code linting"
|
|
- nombre: "@typescript-eslint/parser"
|
|
version: "^6.19.0"
|
|
proposito: "TypeScript ESLint parser"
|
|
- nombre: "@typescript-eslint/eslint-plugin"
|
|
version: "^6.19.0"
|
|
proposito: "TypeScript ESLint rules"
|
|
- nombre: "prettier"
|
|
version: "^3.2.4"
|
|
proposito: "Code formatting"
|
|
|
|
typescript:
|
|
- nombre: "typescript"
|
|
version: "^5.3.3"
|
|
proposito: "TypeScript compiler"
|
|
- nombre: "ts-node"
|
|
version: "^10.9.2"
|
|
proposito: "TS execution"
|
|
|
|
# ============================================================================
|
|
# FRONTEND - React Web Application
|
|
# ============================================================================
|
|
|
|
frontend:
|
|
nombre: "frontend"
|
|
version: "0.0.0"
|
|
tipo: "React Web Application"
|
|
puerto: 3140
|
|
|
|
produccion:
|
|
ui:
|
|
- nombre: "react"
|
|
version: "^19.2.0"
|
|
proposito: "UI framework"
|
|
- nombre: "react-dom"
|
|
version: "^19.2.0"
|
|
proposito: "DOM rendering"
|
|
|
|
routing:
|
|
- nombre: "react-router-dom"
|
|
version: "^7.11.0"
|
|
proposito: "SPA navigation"
|
|
|
|
state:
|
|
- nombre: "@tanstack/react-query"
|
|
version: "^5.90.16"
|
|
proposito: "Server state management"
|
|
|
|
http:
|
|
- nombre: "axios"
|
|
version: "^1.13.2"
|
|
proposito: "HTTP client"
|
|
|
|
ui_components:
|
|
- nombre: "lucide-react"
|
|
version: "^0.562.0"
|
|
proposito: "Icon library"
|
|
- nombre: "clsx"
|
|
version: "^2.1.1"
|
|
proposito: "CSS class utilities"
|
|
|
|
desarrollo:
|
|
build:
|
|
- nombre: "vite"
|
|
version: "^7.2.4"
|
|
proposito: "Build tool"
|
|
- nombre: "@vitejs/plugin-react"
|
|
version: "^5.1.1"
|
|
proposito: "React Vite plugin"
|
|
|
|
styling:
|
|
- nombre: "tailwindcss"
|
|
version: "^4.1.18"
|
|
proposito: "CSS framework"
|
|
- nombre: "@tailwindcss/postcss"
|
|
version: "^4.1.18"
|
|
proposito: "PostCSS plugin"
|
|
- nombre: "@tailwindcss/forms"
|
|
version: "^0.5.11"
|
|
proposito: "Form styles"
|
|
- nombre: "postcss"
|
|
version: "^8.5.6"
|
|
proposito: "CSS processor"
|
|
- nombre: "autoprefixer"
|
|
version: "^10.4.23"
|
|
proposito: "CSS prefixes"
|
|
|
|
typescript:
|
|
- nombre: "typescript"
|
|
version: "~5.9.3"
|
|
proposito: "TypeScript compiler"
|
|
|
|
# ============================================================================
|
|
# MOBILE - React Native Expo
|
|
# ============================================================================
|
|
|
|
mobile:
|
|
nombre: "mobile"
|
|
version: "1.0.0"
|
|
tipo: "React Native Expo Application"
|
|
puerto: 8081
|
|
|
|
produccion:
|
|
framework:
|
|
- nombre: "expo"
|
|
version: "~54.0.31"
|
|
proposito: "Expo framework"
|
|
- nombre: "react"
|
|
version: "19.1.0"
|
|
proposito: "React framework"
|
|
- nombre: "react-native"
|
|
version: "0.81.5"
|
|
proposito: "Native rendering"
|
|
|
|
navigation:
|
|
- nombre: "@react-navigation/native"
|
|
version: "^7.1.26"
|
|
proposito: "Navigation base"
|
|
- nombre: "@react-navigation/native-stack"
|
|
version: "^7.9.0"
|
|
proposito: "Stack navigation"
|
|
- nombre: "@react-navigation/bottom-tabs"
|
|
version: "^7.9.0"
|
|
proposito: "Tab navigation"
|
|
|
|
animations:
|
|
- nombre: "react-native-reanimated"
|
|
version: "^4.2.1"
|
|
proposito: "High-perf animations"
|
|
- nombre: "react-native-gesture-handler"
|
|
version: "^2.30.0"
|
|
proposito: "Gesture handling"
|
|
|
|
expo_modules:
|
|
- nombre: "expo-camera"
|
|
version: "^17.0.10"
|
|
proposito: "Camera access"
|
|
- nombre: "expo-barcode-scanner"
|
|
version: "^13.0.1"
|
|
proposito: "Barcode scanning"
|
|
- nombre: "expo-secure-store"
|
|
version: "^15.0.8"
|
|
proposito: "Secure storage"
|
|
|
|
storage:
|
|
- nombre: "@react-native-async-storage/async-storage"
|
|
version: "^2.2.0"
|
|
proposito: "Local storage"
|
|
- nombre: "@react-native-community/netinfo"
|
|
version: "^11.4.1"
|
|
proposito: "Network info"
|
|
|
|
http:
|
|
- nombre: "axios"
|
|
version: "^1.13.2"
|
|
proposito: "HTTP client"
|
|
|
|
desarrollo:
|
|
typescript:
|
|
- nombre: "typescript"
|
|
version: "~5.9.2"
|
|
proposito: "TypeScript compiler"
|
|
|
|
# ============================================================================
|
|
# WHATSAPP SERVICE - Meta Business API
|
|
# ============================================================================
|
|
|
|
whatsapp_service:
|
|
nombre: "michangarrito-whatsapp-service"
|
|
version: "1.0.0"
|
|
tipo: "NestJS WhatsApp Service"
|
|
puerto: 3143
|
|
|
|
produccion:
|
|
framework:
|
|
- nombre: "@nestjs/common"
|
|
version: "^10.3.0"
|
|
proposito: "NestJS core"
|
|
- nombre: "@nestjs/core"
|
|
version: "^10.3.0"
|
|
proposito: "NestJS runtime"
|
|
- nombre: "@nestjs/platform-express"
|
|
version: "^10.3.0"
|
|
proposito: "Express adapter"
|
|
|
|
config:
|
|
- nombre: "@nestjs/config"
|
|
version: "^3.2.0"
|
|
proposito: "Environment config"
|
|
- nombre: "@nestjs/swagger"
|
|
version: "^7.2.0"
|
|
proposito: "API docs"
|
|
|
|
validacion:
|
|
- nombre: "class-validator"
|
|
version: "^0.14.1"
|
|
proposito: "DTO validation"
|
|
- nombre: "class-transformer"
|
|
version: "^0.5.1"
|
|
proposito: "Data transformation"
|
|
|
|
seguridad:
|
|
- nombre: "helmet"
|
|
version: "^7.1.0"
|
|
proposito: "HTTP security"
|
|
|
|
http:
|
|
- nombre: "axios"
|
|
version: "^1.6.5"
|
|
proposito: "WhatsApp API calls"
|
|
|
|
desarrollo:
|
|
typescript:
|
|
- nombre: "typescript"
|
|
version: "^5.3.3"
|
|
proposito: "TypeScript compiler"
|
|
|
|
# ============================================================================
|
|
# MCP SERVER - Model Context Protocol
|
|
# ============================================================================
|
|
|
|
mcp_server:
|
|
nombre: "michangarrito-mcp-server"
|
|
version: "1.0.0"
|
|
tipo: "MCP Server"
|
|
puerto: 3142
|
|
transporte: "stdio"
|
|
|
|
produccion:
|
|
mcp:
|
|
- nombre: "@modelcontextprotocol/sdk"
|
|
version: "^1.0.0"
|
|
proposito: "MCP SDK oficial"
|
|
|
|
validacion:
|
|
- nombre: "zod"
|
|
version: "^3.22.4"
|
|
proposito: "Schema validation"
|
|
|
|
http:
|
|
- nombre: "axios"
|
|
version: "^1.6.5"
|
|
proposito: "API calls"
|
|
|
|
desarrollo:
|
|
typescript:
|
|
- nombre: "typescript"
|
|
version: "^5.3.3"
|
|
proposito: "TypeScript compiler"
|
|
- nombre: "tsx"
|
|
version: "^4.7.0"
|
|
proposito: "TS execution/watch"
|
|
|
|
# ============================================================================
|
|
# TECNOLOGIAS PRINCIPALES
|
|
# ============================================================================
|
|
|
|
stack_tecnologico:
|
|
backend:
|
|
framework: "NestJS 10.3.0"
|
|
orm: "TypeORM 0.3.19"
|
|
database: "PostgreSQL (pg 8.11.3)"
|
|
auth: "JWT + Passport.js"
|
|
pagos: "Stripe 20.1.1"
|
|
|
|
frontend:
|
|
framework: "React 19.2.0"
|
|
bundler: "Vite 7.2.4"
|
|
css: "TailwindCSS 4.1.18"
|
|
routing: "React Router 7.11.0"
|
|
state: "React Query 5.90.16"
|
|
|
|
mobile:
|
|
framework: "React Native 0.81.5"
|
|
platform: "Expo 54.0.31"
|
|
navigation: "React Navigation 7.x"
|
|
animations: "Reanimated 4.2.1"
|
|
|
|
integraciones:
|
|
whatsapp: "Meta Business API"
|
|
llm: "Model Context Protocol (MCP)"
|
|
payments: "Stripe"
|
|
|
|
# ============================================================================
|
|
# INCONSISTENCIAS DETECTADAS
|
|
# ============================================================================
|
|
|
|
inconsistencias:
|
|
axios:
|
|
descripcion: "Versiones diferentes de Axios"
|
|
aplicaciones:
|
|
- app: "frontend"
|
|
version: "^1.13.2"
|
|
- app: "mobile"
|
|
version: "^1.13.2"
|
|
- app: "whatsapp-service"
|
|
version: "^1.6.5"
|
|
- app: "mcp-server"
|
|
version: "^1.6.5"
|
|
recomendacion: "Unificar a ^1.13.2"
|
|
|
|
typescript:
|
|
descripcion: "Versiones ligeramente diferentes"
|
|
aplicaciones:
|
|
- app: "backend"
|
|
version: "^5.3.3"
|
|
- app: "frontend"
|
|
version: "~5.9.3"
|
|
- app: "mobile"
|
|
version: "~5.9.2"
|
|
- app: "whatsapp-service"
|
|
version: "^5.3.3"
|
|
- app: "mcp-server"
|
|
version: "^5.3.3"
|
|
recomendacion: "Considerar unificar a ~5.9.x"
|
|
|
|
# ============================================================================
|
|
# DEPENDENCIAS COMPARTIDAS
|
|
# ============================================================================
|
|
|
|
dependencias_compartidas:
|
|
- nombre: "axios"
|
|
apps: ["backend", "frontend", "mobile", "whatsapp-service", "mcp-server"]
|
|
nota: "Cliente HTTP en todas las apps"
|
|
|
|
- nombre: "typescript"
|
|
apps: ["backend", "frontend", "mobile", "whatsapp-service", "mcp-server"]
|
|
nota: "Compilador en todas las apps"
|
|
|
|
- nombre: "class-validator"
|
|
apps: ["backend", "whatsapp-service"]
|
|
nota: "Validacion de DTOs en NestJS"
|
|
|
|
- nombre: "class-transformer"
|
|
apps: ["backend", "whatsapp-service"]
|
|
nota: "Transformacion de datos en NestJS"
|
|
|
|
- nombre: "@nestjs/*"
|
|
apps: ["backend", "whatsapp-service"]
|
|
nota: "Framework NestJS compartido"
|
|
|
|
# ============================================================================
|
|
# SEGURIDAD
|
|
# ============================================================================
|
|
|
|
seguridad:
|
|
autenticacion:
|
|
- bcrypt: "Hashing de passwords"
|
|
- passport-jwt: "Estrategia JWT"
|
|
- expo-secure-store: "Storage seguro mobile"
|
|
|
|
http:
|
|
- helmet: "Headers de seguridad"
|
|
|
|
validacion:
|
|
- class-validator: "Validacion de entrada"
|
|
- zod: "Schema validation"
|
|
|
|
# ============================================================================
|
|
# NOTAS
|
|
# ============================================================================
|
|
|
|
notas:
|
|
- "Las versiones con ^ permiten actualizaciones minor"
|
|
- "Las versiones con ~ solo permiten patch updates"
|
|
- "NestJS packages estan alineados en v10.3.0"
|
|
- "React 19 es la ultima version estable"
|
|
- "Expo 54 es compatible con React Native 0.81"
|