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: