Volver a las tareas

DAPW · Tarea

DEFENSA FINAL

Instrucciones

Dockeriza y despliega tu propia aplicación web, desarrollada con Lydia en la asignatura de Backend de segundo de DAW. Debes aplicar a tu proyecto el mismo trabajo realizado en las tres etapas de Compose: Dev Stage, Prod Stage 1 y Prod Stage 2.

Esta defensa se realiza con tu propia práctica, no con el proyecto de Laura. Adapta los nombres de los servicios, las rutas, las dependencias y el módulo WSGI a la estructura real de tu aplicación.

1. Entorno de desarrollo · Dev Stage

Sigue el trabajo de Compose — Dev Stage sobre tu propia práctica:

  • Identifica los componentes del proyecto, sus dependencias, la base de datos, las plantillas y los archivos estáticos y multimedia.
  • Prepara el Dockerfile y la configuración de Docker Compose para arrancar Django con runserver y acceder a la aplicación desde el navegador.
  • Monta el código para trabajar con recarga automática e integra django-browser-reload. Comprueba los estilos y los recursos de la aplicación; si utilizas Tailwind, prepara también su compilación durante el desarrollo.

2. Servidor de aplicación · Prod Stage 1

Amplía tu trabajo siguiendo Compose — Prod Stage 1:

  • Sustituye runserver por Gunicorn, utilizando el módulo WSGI de tu propio proyecto.
  • Prepara la configuración de producción: desactiva DEBUG, configura ALLOWED_HOSTS y retira django-browser-reload de las dependencias y referencias activas de producción.
  • Comprueba que el servicio arranca con Gunicorn y que Django responde. Explica los cambios respecto al entorno de desarrollo.

3. Despliegue completo · Prod Stage 2

Completa tu aplicación siguiendo Compose — Prod Stage 2:

  • Añade Nginx como proxy inverso delante de Gunicorn. El acceso desde el navegador debe pasar por Nginx; la comunicación con Gunicorn se realiza por la red interna de Compose.
  • Configura Nginx para servir /static/ y /media/, y para reenviar las peticiones de la aplicación a su servicio.
  • Configura STATIC_ROOT, ejecuta collectstatic y comparte los estáticos y los archivos multimedia mediante los montajes necesarios. Si tu práctica utiliza Tailwind, compila sus estilos de producción antes de recopilar los estáticos.
  • Adapta las rutas de los volúmenes y de Nginx a tu proyecto. Comprueba las páginas, los estilos, las imágenes y las funcionalidades de tu aplicación accediendo a través de Nginx.

Qué debes mostrar en la defensa

Presenta tu aplicación funcionando con el despliegue final. Explica cómo has aplicado las tres etapas a tu práctica, qué función cumple cada servicio, cómo se comunican los contenedores y cómo se comparten los archivos. Debes poder justificar tu configuración y mostrar los comandos de construcción, arranque y parada.

Entrega obligatoria

Sube el enlace al repositorio de GitHub y un ZIP con tu práctica final. Incluye el código de tu aplicación, las dependencias, los archivos Docker y Compose, la configuración de Nginx y un README.md con los pasos para reproducir las etapas, las adaptaciones realizadas y capturas del despliegue funcionando.

Debes entregar tanto el repositorio como el ZIP aunque ya hayas realizado la defensa. Esta entrega es obligatoria para poder asignarte la calificación.

Materiales de la tarea

No hay archivos adjuntos en esta tarea.