# 🚀 Checklist de Lanzamiento - App Padel > **Fase 7.4 - Go Live y Soporte** > > Este documento contiene todas las tareas necesarias para lanzar la aplicación a producción. > **NO OMITIR NINGÚN ÍTEM** sin autorización explícita del equipo de liderazgo. --- ## 📋 Pre-Deploy Checklist ### Variables de Entorno - [ ] `DATABASE_URL` configurada y probada - [ ] `JWT_SECRET` generado (mínimo 32 caracteres, aleatorio) - [ ] `JWT_REFRESH_SECRET` generado (diferente de JWT_SECRET) - [ ] `NODE_ENV` establecida a `production` - [ ] `PORT` configurado (3000 por defecto) - [ ] `API_URL` configurada (URL pública de la API) - [ ] `FRONTEND_URL` configurada (URL del frontend) ### Seguridad - [ ] CORS configurado con dominios específicos (no `*`) - [ ] Rate limiting activado y probado - [ ] Helmet middleware habilitado - [ ] JWT tokens con expiración apropiada - [ ] Contraseñas hasheadas con bcrypt (salt rounds ≥ 10) - [ ] Headers de seguridad configurados ### Base de Datos - [ ] Base de datos PostgreSQL provisionada - [ ] Migraciones aplicadas (`npx prisma migrate deploy`) - [ ] Seed de datos iniciales ejecutado (si aplica) - [ ] Backups automáticos configurados - [ ] Índices verificados para queries frecuentes ### Email - [ ] SMTP configurado y probado - [ ] `EMAIL_FROM` configurado - [ ] Plantillas de email verificadas - [ ] SPF/DKIM configurados (para dominio propio) ### Pagos (MercadoPago) - [ ] `MERCADOPAGO_ACCESS_TOKEN` configurado - [ ] `MERCADOPAGO_PUBLIC_KEY` configurado - [ ] Webhooks de MP configurados - [ ] URLs de retorno configuradas - [ ] Cuenta de MP verificada y activa ### SSL/HTTPS - [ ] Certificado SSL instalado - [ ] HTTPS forzado en todas las rutas - [ ] Redirección de HTTP a HTTPS configurada - [ ] Certificado renovación automática configurada --- ## 🐳 Docker & Infraestructura - [ ] `Dockerfile.prod` probado y funcional - [ ] `docker-compose.prod.yml` configurado - [ ] Imagen Docker construida sin errores - [ ] Health checks configurados - [ ] Límites de recursos definidos (CPU/Memoria) - [ ] Volúmenes persistentes configurados - [ ] Red de Docker configurada ### Servicios - [ ] Servicio de app corriendo - [ ] PostgreSQL corriendo y accesible - [ ] Redis corriendo (si aplica) - [ ] Nginx corriendo como reverse proxy - [ ] Logs centralizados configurados --- ## 📊 Monitoreo y Logging - [ ] Sistema de logs implementado (Winston) - [ ] Logs de errores configurados - [ ] Rotación de logs configurada - [ ] Health checks implementados - [ ] Endpoints de monitoreo funcionando: - [ ] `GET /api/v1/health` - [ ] `GET /api/v1/health/detailed` - [ ] `GET /api/v1/health/metrics` - [ ] Alertas configuradas (email/Slack) - [ ] Dashboard de monitoreo listo (Grafana/DataDog/etc.) --- ## 🧪 Testing - [ ] Tests unitarios pasando - [ ] Tests de integración pasando - [ ] Tests de API pasando - [ ] Pruebas de carga realizadas - [ ] Pruebas de seguridad básicas: - [ ] SQL Injection - [ ] XSS - [ ] CSRF - [ ] Rate limiting --- ## 📚 Documentación - [ ] README actualizado - [ ] API documentation actualizada (Swagger/OpenAPI) - [ ] Guía de deploy escrita - [ ] Guía de rollback escrita - [ ] Documentación de variables de entorno - [ ] Changelog actualizado --- ## 🔄 CI/CD - [ ] Pipeline de CI configurada (GitHub Actions/GitLab CI/etc.) - [ ] Tests automáticos en CI - [ ] Build automático en CI - [ ] Deploy automático configurado (staging) - [ ] Deploy a producción documentado --- ## 🆘 Plan de Rollback - [ ] Estrategia de rollback definida - [ ] Backups antes de deploy automatizado - [ ] Comandos de rollback documentados - [ ] Base de datos rollback planeado - [ ] Tiempo de RTO (Recovery Time Objective) definido - [ ] Equipo de respaldo identificado ### Procedimiento de Rollback Rápido ```bash # 1. Detener nuevos deploys docker-compose -f docker-compose.prod.yml stop app # 2. Restaurar versión anterior docker-compose -f docker-compose.prod.yml pull app:VERSION_ANTERIOR docker-compose -f docker-compose.prod.yml up -d app # 3. Verificar salud curl https://api.tudominio.com/api/v1/health # 4. Notificar al equipo ``` --- ## 👥 Comunicación - [ ] Beta testers notificados del lanzamiento - [ ] Equipo de soporte entrenado - [ ] Documentación de FAQ actualizada - [ ] Canales de soporte configurados - [ ] Plan de comunicación de incidentes definido --- ## 🎯 Post-Deploy Checklist Inmediatamente después del deploy: - [ ] Health check responde correctamente - [ ] Base de datos accesible - [ ] Login funciona - [ ] Flujo crítico de reservas funciona - [ ] Pagos funcionan (prueba con sandbox) - [ ] Emails se envían - [ ] Logs no muestran errores críticos - [ ] Métricas de monitoreo se reciben ### 24 horas post-deploy: - [ ] Sin errores críticos en logs - [ ] Métricas de performance estables - [ ] Uptime > 99.5% - [ ] Sin quejas críticas de usuarios --- ## 🔐 Seguridad Adicional - [ ] WAF (Web Application Firewall) considerado - [ ] DDoS protection habilitado (CloudFlare/etc.) - [ ] Auditoría de dependencias (`npm audit`) - [ ] Secrets management implementado (Vault/AWS Secrets/etc.) - [ ] IP Whitelist para admin panel (opcional) - [ ] 2FA para cuentas de admin --- ## 📈 Performance - [ ] CDN configurado para assets estáticos - [ ] Compresión gzip habilitada - [ ] Caching configurado - [ ] DB connection pooling configurado - [ ] Imágenes optimizadas - [ ] Bundle size optimizado --- ## ✍️ Firmas Al completar este checklist, firmar y fechar: | Rol | Nombre | Firma | Fecha | |-----|--------|-------|-------| | Tech Lead | | | | | DevOps | | | | | QA Lead | | | | | Product Owner | | | | --- ## 🚨 Contactos de Emergencia - **Tech Lead:** [nombre] - [teléfono] - [email] - **DevOps:** [nombre] - [teléfono] - [email] - **On-Call:** [teléfono/número de paginado] - **Slack:** #incidents o @channel --- ## 📝 Notas Adicionales ``` [Espacio para notas, decisiones especiales, o contexto adicional] ``` --- ## ✅ Aprobación Final > **NOTA:** Este checklist debe estar completo antes del lanzamiento a producción. **Fecha de lanzamiento planificada:** _______________ **Versión a deployar:** _______________ **Aprobaciones:** - [ ] CTO / Tech Lead - [ ] Product Owner - [ ] QA Lead --- *Última actualización: 2024* *Versión: 1.0*