Decidim es un framework open source que permite a cualquier persona crear y configurar una plataforma web, que se utilizará en forma de red de participación ciudadana. Basado en múltiples motores Ruby on Rails que se montan sobre una aplicación Ruby on Rails.
El principal problema es que el software de Decidim al instalarlo en Heroku queda de 640mb aprox, y el máximo en heroku son 500mb.
Tiene varias dependencias con base Decidim de las cuales no se pueden instalar en local, y para ello tuve que añadir las originales de node, pero al hacer esto no se logra realizar el deploy, se presentan varios conflictos. (Estos conflictos se pueden ver en los logs de los intentos de deploy en Heroku)
También intenté subirlo a otro servidor
Fly.io pero me presentó conflictos al realizar el comando fly start que inicializa la aplicación para luego realizar el deploy.
Me gustaría probar si es posible trabajar con el docker-compose dentro de la aplicación, y dejarla funcionando, pero independientemente de que funcione con docker, necesito que se puede hacer deploy, en este momento no ha sido posible, más que nada, porque al intentar realizar el deploy luego de la primera vez, la app quedó muy pesada.
Trabajo:
Pruebas necesarias, que el servidor corra en local.
Realizar deploy a Heroku, para esto daré acceso a colaborador tanto a github como a Heroku.
Comunicar problemas encontrados y soluciones.
Comprobar la habilitación de todos los módulos, espacios y componentes, y su funcionalidad.
Validar la posibilidad de clonar espacios (módulos) en la aplicación.
✓ Sprint 1: Definición de Objetivos y Alcance
La instalación de la aplicación web Decidim en el servidor Heroku.
El objetivo es proporcionar una solución a los problemas asociados a la instalación.
• Analizar exhaustivamente la documentación de Decidim y los tutoriales de instalación para comprender los requisitos y limitaciones del proyecto.
• Identificar los problemas clave que están impidiendo la instalación exitosa de la aplicación en Heroku.
• Establecer un plan de acción claro y conciso para abordar estos problemas y garantizar una solución eficiente.
✓ Sprint 2: Investigación y Análisis
Investigar y analizar la aplicación Decidim y el servidor Heroku.
• Investigar las dependencias y requisitos del software de Decidim para entender por qué está ocupando aproximadamente 640MB en Heroku.
• Analizar las opciones de configuración y optimización de la aplicación para reducir su tamaño y mejorar su rendimiento.
• Investigar las posibles soluciones para instalar las dependencias de Decidim en local y realizar un deploy exitoso en Heroku.
✓ Sprint 3: Diseño y Arquitectura
Diseñar y planificar la arquitectura de la solución.
• Crear un plan de diseño detallado para la aplicación, incluyendo la estructura de la base de datos y la configuración del servidor.
• Establecer un plan de acción para implementar la solución, incluyendo la creación de un entorno de desarrollo y pruebas.
• Identificar las herramientas y plataformas necesarias para implementar la solución, incluyendo GitHub para la gestión del código.
✓ Sprint 4: Planificación de Tareas
Planificar y priorizar las tareas necesarias para implementar la solución.
• Crear un plan de tareas detallado, incluyendo la creación de un entorno de desarrollo y pruebas, la implementación de la solución y la realización de pruebas.
• Establecer un plan de acción para abordar los problemas y desafíos que surjan durante la implementación.
• Identificar las posibles soluciones para reducir el tamaño de la aplicación y mejorar su rendimiento.
✓ Sprint 5: Evaluación de Riesgos y Estrategias de Mitigación
Evaluar los riesgos y desafíos potenciales de la solución.
• Identificar los riesgos y desafíos potenciales de la solución, incluyendo la posibilidad de errores y problemas técnicos.
• Establecer un plan de acción para abordar estos riesgos y desafíos, incluyendo la creación de un plan de contingencia.
• Identificar las posibles soluciones para mitigar estos riesgos y desafíos.
✓ Sprint 6: Herramientas y Plataformas
Seleccionar y configurar las herramientas y plataformas necesarias para implementar la solución.
• Seleccionar las herramientas y plataformas necesarias para implementar la solución, incluyendo GitHub para la gestión del código.
• Configurar estas herramientas y plataformas para garantizar una implementación exitosa.
• Identificar las posibles soluciones para integrar estas herramientas y plataformas con la aplicación.
✓ Sprint 7: Desarrollo e Implementación
Implementar la solución.
• Crear un entorno de desarrollo y pruebas para la aplicación.
• Implementar la solución, incluyendo la creación de la base de datos y la configuración del servidor.
• Realizar pruebas exhaustivas para garantizar que la solución funcione correctamente.
✓ Sprint 8: Revisión y Ajustes
Revisar y ajustar la solución.
• Revisar la solución para garantizar que funcione correctamente y satisfaga las necesidades del cliente.
• Ajustar la solución según sea necesario para abordar cualquier problema o desafío que surja.
• Identificar las posibles soluciones para mejorar la solución y garantizar su escalabilidad.
✓ Sprint 9: Preparación para el Lanzamiento
Preparar la solución para su lanzamiento.
• Crear un plan de lanzamiento detallado, incluyendo la configuración del servidor y la base de datos.
• Establecer un plan de acción para abordar cualquier problema o desafío que surja durante el lanzamiento.
• Identificar las posibles soluciones para garantizar una transición suave y exitosa.
✓ Sprint 10: Cronograma
Crear un cronograma de finalización del proyecto con plazos definidos.
✓ Sprint 11: Post-Lanzamiento
Después del lanzamiento, cualquier error o problema será solucionado sin costo adicional dentro de los 30 días posteriores a la entrega.
Documentación: https://docs.decidim.org/en/v0.28/index.html
Tutoriales de instalación:
https://www.youtube.com/watch?v=ZH-kjd-MIm0&t=268s
https://www.youtube.com/watch?v=FrPs8E2_uMA&t=1970s
Delivery term: Not specified