Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a desarrolladores con experiencia previa en Flask que buscan consolidar prácticas profesionales para construir APIs REST de mayor escala y calidad. A lo largo de las 8 horas, el participante aprenderá a estructurar aplicaciones mediante Blueprints y el patrón Application Factory, a integrar SQLAlchemy con migraciones controladas y a proteger endpoints con autenticación JWT. También abordará la gestión de configuración por entornos, el diseño de un sistema centralizado de manejo de errores, la serialización y validación de datos con librerías especializadas, y la escritura de pruebas automatizadas con pytest. Al finalizar, el participante será capaz de entregar una API REST modular, segura, testeable y lista para desplegarse en distintos entornos.
Arquitectura modular con Blueprints y Application Factory. Se presenta el patrón Application Factory como estrategia para instanciar la aplicación de forma desacoplada y reproducible. A partir de ahí se estudia la organización del proyecto en Blueprints separados por dominio funcional, analizando cómo esta estructura facilita la incorporación de nuevas funcionalidades sin romper las existentes.
Persistencia relacional y control de esquema. Este bloque cubre la integración de SQLAlchemy como ORM dentro del factory, la definición de modelos relacionales y las buenas prácticas de sesión. Se incorpora Flask-Migrate para gestionar el historial de migraciones, asegurando que los cambios de esquema sean aplicables de forma controlada en todos los entornos.
Gestión de configuración por entornos. Se analiza cómo estructurar clases o ficheros de configuración diferenciados para desarrollo, test y producción, y cómo cargarlos dinámicamente a partir de variables de entorno. Se discuten los valores sensibles que nunca deben residir en el repositorio de código.
Autenticación basada en tokens y control de acceso. Se integra Flask-JWT-Extended para emitir, verificar y revocar tokens de acceso. El bloque diferencia la implementación de rutas públicas frente a rutas protegidas y describe la gestión del ciclo de vida del token, incluyendo refresco y manejo de tokens expirados o inválidos.
Manejo centralizado de errores y serialización de datos. Se diseña un sistema de error handlers registrados en el factory que devuelve respuestas JSON coherentes para los códigos 400, 401, 404 y 500. Paralelamente se compara la serialización manual con el uso de Marshmallow o Pydantic, evaluando ambas opciones según criterios de validación, rendimiento y mantenibilidad del código.
Depuración y pruebas automatizadas. El bloque final aborda la depuración sistemática de fallos comunes en el ciclo de vida de una petición —errores de contexto de aplicación, relaciones ORM cargadas de forma incorrecta y tokens mal formados— empleando logs estructurados y el debugger integrado de Flask. A continuación se construye una suite de pruebas con pytest, utilizando fixtures que levantan una instancia de la aplicación en modo test, y se cubren los flujos críticos de creación de recursos, consulta y autenticación.
pip y capacidad para crear entornos virtuales con venv o conda.flask, flask-sqlalchemy, flask-migrate, flask-jwt-extended, marshmallow y pytest.request/response (equivalente al contenido de FLA01).pip para gestionar dependencias.