Examen final

Objetivo: Validar los conocimientos adquiridos en la formación sobre desarrollo web, utilizando las tecnologías Python con FastAPI, MySQL y React para crear un proyecto funcional de gestión de entrenadores personales.

Requisitos:

  • Dominio de HTML, CSS, JavaScript, React, Express, MongoDB, MySQL, Python, FastAPI, PHP y REST API.
  • Capacidad para crear una aplicación web completa con backend (Python con FastAPI) y frontend (React).
  • Conocimiento de buenas prácticas de desarrollo y seguridad.
  • Habilidad para trabajar de forma autónoma y en equipo.

Descripción del proyecto:

Crear una aplicación web para la gestión de entrenadores personales que incluya las siguientes funcionalidades:

  • Entrenadores:
    • Registro y autenticación de entrenadores.
    • Perfil de entrenador con información personal y profesional.
    • Gestión de clientes.
  • Clientes:
    • Registro y autenticación de clientes.
    • Perfil de cliente con información personal y objetivos.
    • Asignación de entrenador a cliente.
  • Rutinas:
    • Creación y edición de rutinas de entrenamiento por parte de los entrenadores.
    • Asignación de rutinas a clientes.
    • Seguimiento del progreso de las rutinas por parte de los clientes.
  • Nutrición:
    • Creación y edición de planes de nutrición por parte de los entrenadores.
    • Asignación de planes de nutrición a clientes.
    • Seguimiento del cumplimiento de los planes de nutrición por parte de los clientes.
  • Panel de métricas:
    • Visualización del progreso de los clientes en diferentes métricas (peso, grasa corporal, rendimiento, etc.).
    • Generación de informes personalizados.

Implementación:

  • Backend:
    • Crear una API RESTful utilizando Python y FastAPI para gestionar los recursos de la aplicación (entrenadores, clientes, rutinas, nutrición, métricas).
    • Implementar la autenticación y validación de usuarios utilizando técnicas como JWT o OAuth.
    • Conectarse a una base de datos MySQL para almacenar y recuperar datos.
  • Frontend:
    • Desarrollar una interfaz de usuario moderna y receptiva utilizando React.
    • Consumir la API RESTful del backend para obtener y enviar datos.
    • Implementar funcionalidades como el registro, la autenticación, la gestión de perfiles, la creación y edición de datos, la visualización de métricas y la generación de informes.
  • Despliegue:
    • Subir el código del proyecto a GitHub.
    • Hospedar la aplicación web en una plataforma cloud como AWS, Heroku o DigitalOcean.

Evaluación:

El examen se evaluará basándonos en los siguientes criterios:

  • Funcionalidad: La aplicación debe cumplir con todos los requisitos descritos anteriormente.
  • Calidad del código: El código debe estar bien escrito, organizado, documentado y seguir las mejores prácticas de desarrollo.
  • Experiencia de usuario: La interfaz de usuario debe ser moderna, intuitiva y fácil de usar.
  • Seguridad: La aplicación debe implementar medidas de seguridad adecuadas para proteger los datos de los usuarios.

Entrega:

  • Código del proyecto en GitHub.
  • Instrucciones para la instalación y ejecución de la aplicación.
  • Documentación del proyecto (API, arquitectura, etc.).

Recursos adicionales: