Aprende desarrollo de API en Python en uno de los cursos más completos jamás realizados sobre el tema. Construirás una API completa en Python utilizando FastAPI. Aprenderás los fundamentos del diseño de API, incluyendo rutas, serialización/deserialización, validación de esquemas y modelos. También aprenderás sobre SQL, pruebas con pytest y cómo construir un pipeline de CI/CD utilizando acciones de GitHub.
⭐️ Contenidos del Curso
00:00 Introducción
06:33 Visión General del Proyecto
11:22 Instalación de Python en Mac
13:15 Instalación y configuración de VS Code en Mac
16:37 Instalación de Python en Windows
18:30 Instalación y configuración de VS Code en Windows
22:11 Fundamentos de Entornos Virtuales en Python
24:35 Entorno Virtual en Windows
28:56 Entorno Virtual en Mac
34:17 Instalación de dependencias con pip
36:21 Iniciando FastAPI
39:23 Operaciones de Ruta
53:22 Introducción a man
57:34 Solicitudes HTTP
1:07:29 Validación de Esquemas con Pydantic
1:22:45 Operaciones CRUD
1:29:44 Almacenando en Array
1:34:06 Creando
1:38:15 Colecciones de Postman y guardando solicitudes
1:39:47 Recuperar Uno
1:48:10 El orden de las rutas importa
1:52:46 Cambiando Códigos de Estado de Respuesta
2:01:49 Eliminando
2:10:31 Actualizando
2:18:02 Documentación Automática
2:21:34 Paquetes de Python
2:24:11 Introducción a Bases de Datos
2:28:54 Instalación de Postgres en Windows
2:31:28 Instalación de Postgres en Mac
2:34:26 Esquema y Tablas de Base de Datos
2:44:35 Gestionando Postgres con PgAdmin GUI
3:12:10 Tu primera Consulta SQL
3:19:43 Filtrar resultados con "where"
3:22:55 Operadores SQL
3:26:38 IN
3:28:07 Coincidencia de patrones con LIKE
3:31:59 Ordenando Resultados
3:36:27 LIMIT y OFFSET
3:39:21 Modificando Datos
3:53:48 Configurar Base de Datos de la App
3:58:21 Conectando a la base de datos con Python
4:08:00 CRUD de Base de Datos
4:31:18 Introducción a ORM
4:35:33 Configuración de SQLALCHEMY
4:55:25 Agregando Columna CreatedAt
5:00:59 Obtener Todos
5:07:55 Crear
5:15:50 Obtener por ID
5:19:50 Eliminar
5:22:31 Actualizar
5:28:21 Pydantic vs Modelos ORM
5:32:21 Profundizando en Modelos Pydantic
5:38:57 Modelo de Respuesta
5:50:08 Creando Tabla de Usuarios
5:54:50 Operación de Ruta de Registro de Usuario
6:03:27 Hashing de Contraseñas
6:08:49 Refactorizando Lógica de Hashing
6:10:32 Obtener Usuario por ID
6:17:13 Rutas de FastAPI
6:27:34 Prefijo de Router
6:30:31 Etiquetas de Router
6:32:49 Fundamentos de Token JWT
6:47:03 Proceso de Inicio de Sesión
7:00:44 Creando Token
7:09:58 OAuth2 PasswordRequestForm
7:13:23 Verificar que el usuario ha iniciado sesión
7:25:21 Corrigiendo Errores
7:27:59 Protegiendo Rutas
7:36:17 Probar Token Expirado
7:38:13 Recuperando Usuario en Rutas Protegidas
7:42:44 Características Avanzadas de Postman
7:50:33 Fundamentos de Relaciones SQL
7:54:59 Claves Foráneas en Postgres
8:07:20 Claves Foráneas en SQLAlchemy
8:13:40 Actualizar Esquema para incluir Usuario
8:17:59 Asignando ID de Propietario al crear nuevo
8:21:01 Eliminar y Actualizar solo tu propio
8:27:48 Solo Recuperando Usuarios Conectados
8:33:37 Relaciones en Sqlalchemy
8:38:32 Parámetros de Consulta
8:50:46 Limpiar nuestro archivo main.py
8:53:53 Variables de Entorno
9:21:20 Teoría de Voto/Me gusta
9:26:36 Tabla de Votos
9:31:33 Votos en Sqlalchemy
9:34:11 Ruta de Votos
9:52:31 Uniones SQL
10:15:26 Uniones en SqlAlchemy
10:28:21 Obtener Uno con Uniones
10:30:18 ¿Qué es una herramienta de migración de base de datos?
10:33:45 Configuración de Alembic
11:13:50 Deshabilitar crear Engine de SqlAlchemy
11:14:28 ¿Qué es CORS?
11:23:38 Requisitos Previos de Git
11:27:40 Instalación de Git
11:29:23 Github
11:34:39 Introducción a Heroku
11:35:40 Crear Aplicación en Heroku
11:40:21 Procfile de Heroku
11:44:59 Agregar una base de datos Postgres
11:48:42 Variables de Entorno en Heroku
11:58:59 Migraciones de Alembic en instancia de Postgres de Heroku
12:02:52 Enviando cambios a producción
12:05:04 Crear una VM de Ubuntu
12:08:04 Actualizar paquetes
12:10:47 Instalar Python
12:12:21 Instalar Postgres y configurar contraseña
12:17:28 Configuración de Postgres
12:24:50 Crear nuevo usuario y configurar entorno de python
12:34:06 Variables de Entorno
12:42:24 Migraciones de Alembic en base de datos de producción
12:45:57 Gunicorn
12:54:12 Crear un servicio Systemd
13:04:45 NGINX
13:10:45 Configurando Nombre de Dominio
13:15:19 SSL/HTTPS
13:19:31 Habilitar NGINX
13:20:06 Cortafuegos
13:23:47 Enviando cambios de código a Producción
13:26:09 Dockerfile
13:38:39 Docker Compose
13:48:34 Contenedor de Postgres
13:56:22 Montajes de Bind
14:03:39 Dockerhub
14:08:08 Producción vs Desarrollo
14:14:51 Introducción a Pruebas
14:17:19 Escribiendo tu primera prueba
14:30:22 Las banderas -s y -v
14:31:44 Probando más funciones
14:35:29 Parametrizar
14:40:21 Probando Clases
14:48:37 Fixtures
14:55:40 Combinando Fixtures + Parametrizar
14:59:13 Probando Excepciones
15:06:07 FastAPI TestClient
15:14:26 Banderas de Pytest
15:17:31 Probar crear usuario
15:25:23 Configurar base de datos de pruebas
15:36:47 Crear y destruir base de datos después de cada prueba
15:44:18 Más Fixtures para manejar interacción con la base de datos
15:50:35 Barras finales en la ruta
15:53:12 Alcance de Fixture
16:07:50 Prueba de fixture de usuario
16:14:40 Probar/validar token
16:18:59 Conftest.py
16:22:09 Pruebas
17:34:15 Introducción a CI/CD
17:43:29 Acciones de Github
17:49:32 Creando Trabajos
17:57:38 configurar python/dependencias/pytest
18:06:14 Variables de entorno
18:11:19 Secretos de Github
18:18:14 Base de datos de pruebas
18:23:42 Construyendo imágenes de Docker
18:34:33 Desplegar en heroku
18:49:10 Pruebas fallidas en pipeline
18:52:18 Desplegar en Ubuntu