SubastApp - Timeline de Interacciones del Usuario

📋 Resumen de Interacciones Clave

Este documento registra las interacciones más importantes del usuario que influyeron significativamente en la dirección y decisiones del proyecto de despliegue.

🎯 Interacciones que Cambiaron la Dirección del Proyecto

1. Decisión de Arquitectura de Infraestructura

Interacción: "Quiero pensar un poco más antes. Esto es para un uso intensivo durante 10 horas por unas 20 personas. Después pretendo mantenerlo online pero no estará en producción. Pienso que quizá la opción más economica puede ser un droplet más un saas de mysql (ambos en DO) puesto que ya tengo infra ahí de ambas cosas (también alguna app en app platform). Que piensas que es más adecuado en este escenario?"

Impacto:

  • Cambio de estrategia: De App Platform + Managed MySQL a Droplet + Managed MySQL
  • Consideración de costos: Priorización de solución económica para uso específico
  • Aprovechamiento de infraestructura existente: Uso de recursos ya disponibles en DO

2. Decisión de Usar Docker en Droplet

Interacción: "Y desplegarlo con la configuración actual de docker en un droplet? No hace falta cambiar la arquitectura con las últimas modificaciones, no? Así lo tendríamos preparado para el cambio a app platform en cualquier momento"

Impacto:

  • Mantenimiento de Docker: Conservar configuración Docker existente
  • Flexibilidad futura: Preparación para migración a App Platform
  • Simplicidad de despliegue: Usar herramientas ya configuradas

3. Separación de Repositorios

Interacción: "Creo que sería mejor separar la parte de la Infra en otro repositorio"

Impacto:

  • Separación de responsabilidades: Código de aplicación vs infraestructura
  • Mejor gestión de versiones: Control independiente de cambios
  • Facilitar colaboración: Diferentes equipos pueden trabajar independientemente

4. Implementación de GitHub Actions

Interacción: "que te parece hacer una github action en el repositorio de infra y desplegar desde allí al servidor?"

Impacto:

  • Automatización del despliegue: CI/CD pipeline implementado
  • Reducción de errores manuales: Proceso estandarizado
  • Mejor trazabilidad: Logs y historial de despliegues

5. Cambio a MySQL Local

Interacción: "ya se cual es el problema, es problema mio. Tenemos que cambiar la configuración. Vamos a hacer la BD en el droplet. Modifica lo que necesites en el docker para que la conexion este ahí (y en el tfvars)"

Impacto:

  • Simplificación de arquitectura: Todo en un solo servidor
  • Reducción de costos: Eliminación de servicio MySQL gestionado
  • Mejor control: Gestión directa de la base de datos

6. Población de Base de Datos

Interacción: "no, lo que quiero decir es que el del droplet es el que funciona seguro, úsalo como fuente, no?"

Impacto:

  • Datos reales para testing: Base de datos poblada con información real
  • Validación de funcionalidad: Pruebas con datos reales
  • Preparación para producción: Sistema listo para uso real

7. Documentación Completa

Interacción: "Lo siguiente que quiero que hagas es una documentación en formato postmortem de todo lo que hemos hecho desde que ha empezado esta conversación. En formato markup language."

Impacto:

  • Documentación exhaustiva: Registro completo del proceso
  • Conocimiento preservado: Información disponible para futuros proyectos
  • Mejora de procesos: Lecciones aprendidas documentadas

8. Documentación Web Accesible

Interacción: "Ok, ahora quiero que esto sea visualizable en el droplet en la dirección de la app con /documentacion"

Impacto:

  • Acceso web a documentación: Documentación accesible públicamente
  • Mejora de UX: Interfaz web para navegar documentación
  • Profesionalización: Presentación profesional del proyecto

🔄 Interacciones de Resolución de Problemas

Problema: Archivos package.json Corruptos

Interacción: "sigue lo que estas haciendo pero ten en cuenta que la app (la carpeta SUBASTAPP) viene de un ordenador Windows y este es un linux"

Resolución: Identificación del problema de codificación Windows → Linux, recreación manual de archivos

Problema: Información Sensible Expuesta

Interacción: "revisa el codigo que se ha subido a ver si hay informacion sensible"

Resolución: Eliminación de archivos sensibles, regeneración de claves, configuración de .gitignore

Problema: Renderizado de Documentación

Interacción: "se sigue viendo en texto plano"

Resolución: Creación de archivos HTML renderizados en lugar de markdown crudo

📊 Análisis de Patrones de Interacción

Características del Usuario

Patrones de Decisión

🎯 Lecciones Aprendidas de las Interacciones

Positivas:

  1. Experiencia del usuario: Conocimiento profundo de infraestructura cloud
  2. Enfoque sistemático: Resolución de problemas en orden lógico
  3. Priorización correcta: Enfoque en funcionalidad antes que perfección
  4. Gestión de seguridad: Atención a aspectos de seguridad desde el inicio

Áreas de Mejora:

  1. Comunicación inicial: Mejor alineación de expectativas al inicio
  2. Documentación: Documentar decisiones y configuraciones más temprano
  3. Testing: Más testing en etapas tempranas del proceso

📈 Impacto en el Proyecto Final

Arquitectura Final

Calidad del Resultado

Conclusión

Las interacciones del usuario fueron fundamentales para el éxito del proyecto, proporcionando dirección técnica, validación continua y enfoque pragmático que resultó en un despliegue exitoso y funcional. La experiencia del usuario en infraestructura cloud y su enfoque sistemático fueron clave para superar los desafíos técnicos encontrados.