Frontend - Vue.js 3 🚀
📋 Descripción General
Section titled “📋 Descripción General”Esta documentación es la guía completa para desarrollar microfrontends con Vue.js 3 + TypeScript en nuestro stack tecnológico. Diseñada para acelerar el onboarding de nuevos miembros del equipo y estandarizar el desarrollo frontend.
🎯 Objetivo Principal
Section titled “🎯 Objetivo Principal”Reducir el tiempo de onboarding de +1 mes a días mediante documentación práctica, templates automatizados y workflows estandarizados que permitan a cualquier desarrollador ser productivo desde el primer día.
🏗️ Nuestro Stack
Section titled “🏗️ Nuestro Stack”Core Technologies
Section titled “Core Technologies”- Vue.js 3 con Composition API (obligatorio)
- TypeScript estricto en todos los proyectos
- Pinia para manejo de estado
- Vite como build tool y development server
- pnpm con workspaces para monorepo
Arquitectura
Section titled “Arquitectura”- Microfrontends integrados que se ejecutan en aplicaciones ASP.NET existentes
- Microfrontends independientes como SPAs autónomos
- Monorepo centralizado con packages compartidos
- Templates automatizados con Plop.js para scaffolding
🚀 ¿Por Dónde Empezar?
Section titled “🚀 ¿Por Dónde Empezar?”👨💻 Soy Nuevo en el Equipo
Section titled “👨💻 Soy Nuevo en el Equipo”graph LR
A[Setup Entorno] --> B[Quick Start]
B --> C[Conceptos Clave]
C --> D[Decision Tree]
D --> E[Templates]
E --> F[Desarrollo Día a Día]
Tiempo estimado: 2-3 días para ser completamente productivo
- 🛠️ Setup del Entorno - Configurar Node.js, pnpm y herramientas (30 min)
- 🚀 Quick Start - Tu primer microfrontend funcionando (30 min)
- 🧠 Conceptos Clave - Entender la filosofía y arquitectura (1 hora)
🔨 Quiero Crear un Nuevo Proyecto
Section titled “🔨 Quiero Crear un Nuevo Proyecto”graph LR
A[Decision Tree] --> B[Templates]
B --> C[Generar Código]
C --> D[Desarrollo]
Tiempo estimado: 5-10 minutos de proyecto funcionando a código listo
- 🌳 Decision Tree - ¿Qué tipo de proyecto necesito? (2 min)
- 📋 Templates y Scaffolding - Generar código automáticamente (3 min)
- 💻 Desarrollo Día a Día - Workflows y patrones cotidianos
📚 Busco Información Específica
Section titled “📚 Busco Información Específica”- 📚 Referencias - Configuraciones técnicas para copiar y pegar
- 🏗️ Arquitectura - Patrones avanzados y casos de estudio
🎯 Tipos de Proyectos que Construimos
Section titled “🎯 Tipos de Proyectos que Construimos”🔗 Microfrontends Integrados ⭐⭐⭐
Section titled “🔗 Microfrontends Integrados ⭐⭐⭐”Más comunes - Se ejecutan dentro de aplicaciones ASP.NET existentes
- Ejemplos: Checkout de vuelos, listados de hoteles, dashboards de usuario
- Características: Reciben datos via
window.__params, optimizados para CDN - Cuándo usar: Modernizar secciones específicas sin reescribir toda la aplicación
🚀 Microfrontends Independientes ⭐⭐
Section titled “🚀 Microfrontends Independientes ⭐⭐”Para herramientas internas - SPAs completas autónomas
- Ejemplos: Panels de administración, herramientas de reportes, configuradores
- Características: Routing propio, autenticación independiente
- Cuándo usar: Aplicaciones completamente nuevas o herramientas internas
🎨 Librerías Vue ⭐⭐
Section titled “🎨 Librerías Vue ⭐⭐”Componentes reutilizables - Para usar en múltiples microfrontends
- Ejemplos: Sistema de modals, date pickers, data tables
- Características: Componentes .vue, composables, dependencias de Vue
- Cuándo usar: Funcionalidad que se repite en varios proyectos
🔧 Librerías de Utilidades ⭐
Section titled “🔧 Librerías de Utilidades ⭐”Funciones puras - Sin dependencias de Vue
- Ejemplos: API clients, validadores, formatters, tipos compartidos
- Características: Solo JavaScript/TypeScript, sin UI
- Cuándo usar: Lógica de negocio o utilidades compartidas
💡 Filosofía de Desarrollo
Section titled “💡 Filosofía de Desarrollo”🧩 Composition API First
Section titled “🧩 Composition API First”// ✅ Así escribimos código<script setup lang="ts">import { ref, computed } from 'vue'
const count = ref(0)const doubled = computed(() => count.value * 2)</script>📱 Microfrontends, No SPAs
Section titled “📱 Microfrontends, No SPAs”- Integración gradual en aplicaciones ASP.NET existentes
- Hidratación parcial - solo la sección es reactiva
- Bundle independiente - se carga cuando se necesita
🏗️ Monorepo con Purpose
Section titled “🏗️ Monorepo con Purpose”- Apps (
@apps/) - Productos finales desplegables - Packages (
packages/) - Código reutilizable entre apps - Templates centralizados - Una sola fuente de verdad
⚡ Automatización Primero
Section titled “⚡ Automatización Primero”# De 0 a microfrontend funcionando en 5 minutosnpx plop microfrontend-integrado# → Código generado, configurado y listo para adaptar📊 Beneficios para el Equipo
Section titled “📊 Beneficios para el Equipo”🚀 Para Developers
Section titled “🚀 Para Developers”- Onboarding acelerado: De +1 mes a días
- Productividad inmediata: Templates pre-configurados
- Consistencia automática: ESLint, Prettier, TypeScript configurados
- Debugging simplificado: DevTools y troubleshooting documentado
🏗️ Para Arquitectura
Section titled “🏗️ Para Arquitectura”- Estándares enforced: TypeScript estricto, Composition API obligatorio
- Reutilización real: Packages compartidos con versionado
- Evolución controlada: Templates centralizados que mejoran continuamente
- Migración gradual: Modernizar ASP.NET sin Big Bang
📈 Para Producto
Section titled “📈 Para Producto”- Time to market reducido: Scaffolding automático + patterns probados
- Calidad consistente: Configuraciones probadas en producción
- Maintenance simplificado: Arquitectura modular y bien documentada
🔍 Casos de Uso Reales
Section titled “🔍 Casos de Uso Reales”✈️ Sistema de Reservas de Vuelos
Section titled “✈️ Sistema de Reservas de Vuelos”flight-list(Microfrontend Integrado) - Resultados de búsqueda con filtrosflight-review(Microfrontend Integrado) - Revisión y confirmación de reserva
🏨 Sistema de Reservas de Hoteles
Section titled “🏨 Sistema de Reservas de Hoteles”hotel-alternatives(Microfrontend Integrado) - Hoteles alternativos para reservartickets-disney(Microfrontend Integrado) - Seleccion de tickets para Hoteles Disney- Reutilizan librerías existentes del workspace
⚙️ Generales
Section titled “⚙️ Generales”vue-modal(Librería Vue) - Sistema de modals reutilizableshared-utils(Librería Utilidades) - Validaciones y API client
🛡️ Estándares y Calidad
Section titled “🛡️ Estándares y Calidad”Configuración Automática
Section titled “Configuración Automática”- TypeScript estricto con
noUnusedLocals,exactOptionalPropertyTypes - ESLint + Prettier preconfigurados con reglas del equipo
- Import sorting automático con
simple-import-sort
Performance Built-in
Section titled “Performance Built-in”- Tree shaking automático con Vite
- Code splitting optimizado por vendor y workspace packages
- CDN optimization con chunks separados para caching
Developer Experience
Section titled “Developer Experience”- Hot Module Reload instantáneo en desarrollo
- Source maps en desarrollo, optimizado en producción
- Vue DevTools + Pinia DevTools integrados
🚨 Troubleshooting Rápido
Section titled “🚨 Troubleshooting Rápido”Problemas Más Comunes
Section titled “Problemas Más Comunes”# Cannot find module @pnpmworkspace/...pnpm -r build
# TypeScript errors después de git pull# VS Code: Ctrl+Shift+P → "TypeScript: Restart TS Server"
# Template no genera códigocd proyecto-vue && git pull && pnpm install
# Puerto ocupadopnpm app-{proyecto} dev --port 5174Windows Específico
Section titled “Windows Específico”# PowerShell execution policySet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Rutas largasgit config --system core.longpaths true📞 Soporte y Contribución
Section titled “📞 Soporte y Contribución”¿Necesitas Ayuda?
Section titled “¿Necesitas Ayuda?”- Revisa Troubleshooting para problemas comunes
- Consulta Referencias para configuraciones específicas
- Pregunta al equipo - todos hemos pasado por el mismo proceso
¿Quieres Contribuir?
Section titled “¿Quieres Contribuir?”- Reporta problemas en la documentación que encuentres
- Sugiere mejoras en templates o workflows
- Comparte patterns que descubras en tus proyectos
🔄 Roadmap
Section titled “🔄 Roadmap”📋 Completado
Section titled “📋 Completado”- ✅ Setup del entorno y Quick Start
- ✅ Templates automatizados con Plop.js
- ✅ Arquitectura de microfrontends establecida
- ✅ Workflows de desarrollo día a día
- ✅ Referencias técnicas consolidadas
🚧 En Desarrollo
Section titled “🚧 En Desarrollo”- 🔄 Testing strategy con Vitest
- 🔄 CI/CD pipelines específicos
- 🔄 Performance monitoring
🎯 Próximo
Section titled “🎯 Próximo”- 📅 Design system components
- 📅 Advanced deployment strategies
- 📅 Multi-tenant architecture patterns
¡Bienvenido al desarrollo frontend moderno! 🚀
Esta documentación evoluciona continuamente. La última actualización incluye templates automatizados y workflows optimizados para Windows.