# DEPENDENCIAS INVENTORY - MiChangarrito # Version: 2.1.0 # Ultima actualizacion: 2026-01-10 # Sistema: SIMCO v3.8.0 + CAPVED metadata: proyecto: "michangarrito" descripcion: "Inventario completo de dependencias del proyecto" version: "2.1.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"