Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo de facilitaremos un enlace para verlo en diferido
logoImagina
iconoCurso

Curso completo de Desarrollo Backend con Python y FastAPI

DISPONIBLE EN MODALIDAD:
Aprende a crear aplicaciones Web API extensibles y mantebibles con Python y FastAPI aplicando las mejores prácticas de desarrollo en la actualidad
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Formación en Desarrollo Backend con Python y FastAPI bonificable para empresas

¿A quién va dirigido?

Desarrolladores Backend que quieran aprender a crear aplicaciones Web API extensibles y mantebibles con Python y FastAPI

Objetivos

  • Aprender los fundamentos del framework FastAPI para crear aplicaciones web
  • Desarrollar aplicaciones Web API con FastAPI y aprender a documentarlas
  • Gestionar y administrar el modelado de datos, sistema de enrutado y seguridad
  • Aplicar buenas prácticas de arquitectura y testing
  • Gestionar y administrar builds y despliegues

¿Qué vas a aprender?

Aprende a crear aplicaciones Web API extensibles y mantebibles con Python y FastAPI aplicando las mejores prácticas de desarrollo en la actualidad

Requisitos

  • Experiencia previa desarrollando con Python (v3 o superior) y conocimiento de sus fundamentos
  • Tener un equipo con acceso a un usuario con permisos de instalación donde poder realizar el curso
  • Tener Python 3, Git y Visual Studio Code o Pycharm instalados en el equipo previamente

Temario del curso

tema 1

Introducción FastAPI

  • ¿Qué es FastAPI?
  • FastAPI en la actualidad y tipos de proyectos más destacables
  • Diferencias sustanciales con Django y Flask como alternativas a FastAPI
  • Instalación de Python en su versión LTS de manera oficial
  • Verificando la versión de Python instalada en el equipo
  • ¿Es posible tener varias versiones de Python instaladas en un equipo?
  • Creación de tu primer proyecto FastAPI desde Pycharm
  • Instalación de FastAPI con PIP
  • Estableciendo librerías instaladas en requirements.txt
  • Hola Mundo en FastAPI
  • Estableciendo la ruta base de nuestra web API
  • Plugins imprescindibles y recomendados de Pycharm
  • Ejecución local del proyecto FastAPI
  • Accediendo por navegador a la ruta base del proyecto
  • Otros IDEs con los que podemos desarrollar con FastAPI
  • Entornos de Desarrollo Online: Replit.com
  • Creación de cuenta en Replit.com
  • Creación de un proyecto FastAPI en Replit.com a partir de plantillas disponibles
  • Escribiendo tu primer "Hola Mundo" en proyecto FastAPI de Replit.com
  • Ejecutando el archivo main.py desde entorno Replit.com
  • Compartiendo proyecto Replit
  • Integración de Replit.com con Github
  • Descargando proyecto Replit en formato .ZIP
  • Creación de plantilla de proyectos FastAPI para Github
  • Empleando la plantilla para nuevos proyectos FastAPI
tema 2

Desarrollo de Web APIs con FastAPI

  • Creación y configuración del archivo principal de FastAPI
  • Creación de la ruta base de nuestro proyecto FastAPI
  • Especificando el puerto de despliegue
  • Especificando respuestas JSON
  • Especificando el código de estado a nuestra respuesta
  • Desplegando la aplicación y accediendo desde el navegador
  • Iniciando Postman y probando la ruta base del proyecto
  • Introducción a la estructura de proyectos FastAPI
  • Introducción a las variables de entorno
  • Estableciendo archivos de variables de entorno
  • Declaración de variables de entorno
  • Configuración de archivo .gitignore
  • Publicando proyecto FastAPI en Github
  • Estableciendo ramas de desarrollo y producción
tema 3

Peticiones, Sistema de Enrutado, Controladores y Respuestas

  • Análisis de los verbos HTTP: GET, POST, PUT y DELETE
  • Otros verbos HTTP y sus utilidades
  • Recibiendo peticiones desde un cliente
  • Especificando una ruta "/api" como base para nuestro proyecto
  • Declaración de rutas en un proyecto FastAPI
  • Declarando una misma ruta para distintos verbos
  • Accediendo a la cabecera de la petición
  • Accediendo al cuerpo de la petición
  • Configurando la respuesta al cliente
  • Distintos tipos de respuestas: Texto, JSON y HTML
  • Recepción de parámetros por Query Params
  • Redirección de rutas
  • Estructura de proyectos FastAPI
  • ¿Qué es un controlador?
  • Declaración de controladores en proyectos FastAPI
  • Indicando el uso de un controlador
  • Depurando la ejecución de un controlador
  • Reutilización de controladores
  • Buenas prácticas en la estructuración de rutas y controladores
tema 4

Gestión de Peticiones y respuestas CRUD

  • Estableciendo una base de datos lite como introducción
  • Creación de rutas para peticiones de Creación (C)
  • Códigos de estado para creaciones exitosas y erróneas
  • Redirección de rutas para devolver elemento creado correctamente
  • Creación de rutas para lectura y consultas con Query Params (R)
  • Códigos de estado para lecturas exitosas y erroróneas
  • Creación de rutas para peticiones de Actualización (U)
  • Códigos de estado para actualizaciones exitosas y erroróneas
  • Creación de rutas para peticiones de Borrado (D)
  • Códigos de estado para borrados exitosos y erroróneas
tema 5

Persistencia en bases de datos relacionales: PostgreSQL

  • Introducción a bases de datos relacionales
  • Instalación y configuración básica de PostgreSQL
  • Iniciando servidor PostgreSQL localmente
  • Usando herramientas de vislauzación de datos de PostgreSQL: BeeKeeper
  • Configuración en proyecto FastAPI para conexión con PostgreSQL
  • ¿Qué es un ORM? Ventajas e inconvenientes.
  • Utilización de un ORM (Sequelize)
  • Operaciones CRUD en proyecto FastAPI con PostgreSQL como base de datos
  • Dockerización de proyecto FastAPI con PostgreSQL
  • Introducción a Render como solución cloud
  • Creación de una cuenta gratuita en Render
  • Creación y configuración básica de una base de datos PostgreSQL en Render
  • Conexión desde FastAPI con PostgreSQL de Render
  • Añadiendo variables de entorno al proyecto para las conexiones y api keys
tema 6

Persistencia en bases de datos NoSQL: MongoDB

  • Introducción a bases de datos no relacionales
  • Breve introducción a MongoDB
  • Colecciones y documentos BSON
  • Instalación y configuración básica de MongoDB
  • Iniciando servidor MongoDB localmente y especificando ubicación "dbpath"
  • Iniciando Mongo Shell como cliente
  • Introducción a Mongo Compass
  • Iniciando Mongo Compass para visualizar bases de datos y colecciones
  • Accediendo a Mongo Shell desde Mongo Compass
  • Validación y modelado de datos
  • ¿Qué es un ODM?
  • Ventajas e inconvenientes en el uso de ODMs
  • Utilización de un ODM (Mongoose)
  • Operaciones CRUD en proycto FastAPI con MongoDB como base de datos
  • Dockerización de proyecto FastAPI con MongoDB
  • Introducción a Mongo Atlas como solución cloud
  • Creación de una cuenta gratuita en MongoDB para usar Mongo Atlas
  • Creación y configuración básica de una base de datos MongoDB en Mongo Atlas
  • Conexión desde FastAPI con Mongo DB Atlas
  • Añadiendo variables de entorno al proyecto para las conexiones y api keys
tema 7

Middlewares

  • ¿Qué es un Middleware y qué uso podemos darle?
  • Declarando Middlewares en un proyecto FastAPI
  • Espeficicando el uso de un Middleware en una ruta de nuestro proyecto
  • Depuración de código middleware
  • Redirección de rutas
  • Buenas prácticas en la gestión de Middlewares
tema 8

Autenticación y autorización

  • Middlewares de autenticación
  • Introducción a JWT y a los Bearer Tokens
  • Configuración de Middleware y rutas para autenticación por JWT
  • Controlando los JWT emitidos por el cliente en las cabeceras
  • Controlando las sesiones de usuario y caducidad de los JWT
  • Añadiendo un sistema RBAC para controlar el acceso
  • Introducción al sistema de autenticación OAuth
  • Diferencias entre OAuth y OAuth2
  • Configuración de Middleware y rutas para autenticación por OAuth
  • Controlando las sesiones de usuario de OAuth
  • Persistiendo la información de sesiones en bases de datos
  • Introducción a la autenticación con redes sociales
  • Realizando pruebas de autenticación y protección de rutas
tema 9

Gestión de Errores desde el Servidor

  • Análisis de los códigos de estado HTTP en las respuestas
  • Códigos de estado de Error más comunes
  • ¿Cómo transmitir un error al cliente?
  • Gestión de errores 300
  • Gestión de errores 400
  • Gestión de errores 500
tema 10

Documentación de proyecto FastAPI con Swagger

  • Documentando la puesta en marcha de un proyecto FastAPI en un README.md
  • Introducción a OpenAPI y a Swagger
  • Instalación y configuraciones esenciales
  • Documentación de modelos
  • Documentación de rutas y controladores
  • Añadiendo comentarios para mayor información
  • Script de generación de documentación Swagger y despliegue
  • Visualización de documentación vía web
  • Realizando pruebas de peticiones desde la documentación generada
tema 11

Consideraciones de seguridad en aplicaciones FastAPI

  • ¿Qué es CORS y por qué debemos configurarlo?
  • Configuración recomendada de CORS
  • Problemas derivados de una mala configuración de CORS
  • ¿Cómo habilitar HTTPS localmente?
  • Trabajando con certificados localmente
  • Desplegando en https un proyecto local
  • Módulos vulnerables y desactualizados en Python que pueden afectarnos
  • Protección ante ataques de fuerza bruta
  • Protección ante ataques de denegación de servicios
  • Protección ante ataques de SQL Injection
  • Protección ante ataques de JSON Injection
  • Uso seguro de cookies y protección ante ataques CSRF
tema 12

Logs, health checks y monitorización

  • La importancia del buen uso de logs en aplicaciones web
  • Soluciones de Logs disponibles para FastAPI
  • Instalaciones y configuraciones en FastAPI para gestión de logs
  • Herramientas más interesantes de análisis de logs disponibles en el mercado
  • Emisión de logs desde nuestra aplicación
  • Niveles de logs y buenas prácticas
  • Persistiendo logs en una tabla de la base de datos
  • ¿Qué son los health checks y por qué debemos realizarlos?
  • Creación de health checks para aplicaciones FastAPI
  • Introducción a la monitorización de aplicaciones web
  • Herramientas más interesantes para la monitorización de recursos y rendimiento
  • Habilitando la monitorización de una aplicación FastAPI
tema 13

Comunicación en tiempo real

  • ¿Qué son los WebSockets y para qué sirven?
  • Introducción a Socket IO y sus fundamentos
  • Instalación y configuración de Socket IO
  • Implementación de websockets
  • Comprobando la comunicación bidireccional
tema 14

Builds y Despliegues

  • Analizando el proceso de builds y entornos en FastAPI
  • Configuración y definición de carpeta para builds en FastAPI
  • Creación de Scripts de builds para distintos entornos
  • Análisis de resultado de una build
  • Creación de un proyecto FastAPI en Render
  • Asociando un proyecto Render a una rama de repositorio Github
  • Configuración y scripts para el despliegue de proyectos Python en Render
  • Configurando variables de entorno y api keys en el proyecto Render
  • Automatizando la integración (CI) desde Render
  • Comprobando despliegues y probando la aplicación FastAPI en producción
  • Gestión de errores, rollbacks y redespliegues en Render

Curso de Desarrollo Backend con Python y FastAPI bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient