Terminado

Solución de problemas en la Instalación de la Aplicación Web (framework) Decidim (en lenguaje Ruby On Rails) en el servidor Heroku.

Publicado el 21 Agosto, 2024 en Programación y Tecnología

Sobre este proyecto

Abierto

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.

Contexto general del proyecto

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

Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Plataformas requeridas Windows, Mac OS, Linux / Unix

Plazo de Entrega: No definido

Habilidades necesarias