Despliegue del proyecto
El despliegue de la aplicación es un requisito fundamental para la entrega del proyecto. Cada equipo deberá garantizar que su aplicación esté accesible y funcional desde un entorno externo, ya sea en un hosting de terceros o en un servidor VPS (Virtual Private Server). Esto permitirá evaluar la implementación en un entorno real y garantizar la usabilidad de la aplicación.
Opciones de despliegue
Hosting en plataformas externas
Los equipos pueden optar por utilizar servicios de hosting gratuitos o comerciales que soporten aplicaciones fullstack con Node.js, como:
- Vercel: Ideal para aplicaciones React (frontend), aunque requiere configurar el backend en otro servicio.
- Render: Ofrece hosting gratuito para aplicaciones backend con Node.js y bases de datos.
- Railway: Permite desplegar aplicaciones MERN de manera sencilla, integrando el backend y la base de datos.
- Heroku: Popular para proyectos Node.js, aunque con limitaciones en la versión gratuita.
Nota importante:
Los servicios de hosting gratuitos suelen presentar limitaciones e inconvenientes, como tiempos de inactividad, restricciones en el uso de recursos (CPU, memoria, almacenamiento) o configuraciones menos flexibles. Será responsabilidad del equipo investigar y evaluar si alguna de estas plataformas satisface las necesidades específicas de su proyecto.
Servidor VPS
El uso de un VPS es una opción recomendada por su flexibilidad y control. Proporciona un entorno completo donde se puede configurar tanto el backend como el frontend de manera personalizada.
- Configurar un VPS implica instalar y configurar herramientas como:
- Nginx o Apache para gestionar las peticiones HTTP.
- Node.js y PM2 para ejecutar y gestionar el servidor.
- MongoDB Atlas para la base de datos (opcionalmente, se puede instalar MongoDB localmente en el VPS).
- Es una opción más avanzada, pero ofrece mayor estabilidad y control.
Requisitos mínimos para el despliegue
Accesibilidad:
- La aplicación debe ser accesible desde un dominio o dirección IP pública.
- Todas las funcionalidades deben estar disponibles y funcionar correctamente en el entorno desplegado.
Seguridad:
- Implementar medidas básicas de seguridad en el servidor, como el uso de HTTPS (por ejemplo, con Let's Encrypt).
- Configurar el backend para proteger datos sensibles y rutas autenticadas.
Documentación del despliegue:
- Detallar en la Wiki del repositorio los pasos seguidos para el despliegue:
- Herramientas utilizadas.
- Configuraciones realizadas.
- Soluciones implementadas ante posibles problemas.
- Incluir una guía para probar la aplicación en el entorno desplegado (URL, credenciales de prueba, etc.).
Aspectos clave para la entrega
- La aplicación debe estar desplegada y funcional antes de la fecha límite establecida.
- Coordina con el profesor encargado del módulo para validar la configuración del despliegue y recibir feedback.
Nota: Asegúrate de planificar el despliegue con suficiente antelación para resolver posibles problemas técnicos.
Recuerda: La aplicación debe estar desplegada y accesible para la evaluación final. Sin un despliegue funcional, el proyecto no se considerará completo.