01. Introducción

Objetivos

Objetivos del proyecto

En este proyecto construiremos una API completa para gestionar un catálogo de películas, desde cero y paso a paso.

Este será tu primer acercamiento profesional al desarrollo backend con FastAPI, uno de los frameworks modernos más usados para crear APIs en Python.

Durante el proyecto aprenderás a pensar, estructurar y desplegar una API tal como lo haría un desarrollador en un entorno real.

Hablemos de nuestros objetivos a continuación.


Entender qué es una API y cómo funciona FastAPI

Comenzarás comprendiendo qué significa crear una API REST y qué papel juega FastAPI en el ecosistema de Python.

Aprenderás que una API no tiene interfaz visual, sino que se comunica mediante endpoints que responden con datos estructurados (JSON).

Usarás Uvicorn, un servidor que te permitirá ejecutar tu aplicación localmente y probarla desde el navegador o desde la documentación interactiva que FastAPI genera automáticamente.


Preparar tu entorno de desarrollo profesional

Configurarás tu computadora bajo ciertas consideraciones.

Instalarás Python, usarás Visual Studio Code como editor, crearás un entorno virtual (venv) para tus librerías y aprenderás a gestionar dependencias con pip y un archivo requirements.txt.

Con eso, tu proyecto será reproducible en cualquier máquina.


Crear tu primera aplicación con FastAPI

Veremos cómo levantar un servidor, cómo funciona la documentación automática de FastAPI, y cómo probar endpoints en el navegador.


Modelar datos con Pydantic

Aprenderás a definir y validar datos usando modelos de Pydantic, una herramienta que asegura que los datos que recibe o envía tu API tengan el formato correcto.

Usarás estos modelos para representar una película, con atributos como título, año, género, director, precio y stock.

Cada modelo tendrá su propio propósito: creación, actualización o respuesta.


Construir un CRUD completo

Tu objetivo central será implementar el ciclo completo de operaciones CRUD:

  • Crear nuevas películas (POST)
  • Listar todas las películas (GET)
  • Obtener una película específica (GET)
  • Actualizar su información (PUT/PATCH)
  • Eliminar películas (DELETE)

Con esto, tu API se comportará como una aplicación real, lista para interactuar con cualquier frontend.


Guardar datos de forma persistente

Los datos que tu API maneja no se perderán al cerrar el programa.

Usarás un archivo JSON como una base de datos local, para leer y escribir los registros de películas.

Aprenderás a manejar este archivo con cuidado, usando clases y funciones que aseguren la integridad de la información.


Agregar validaciones, filtros y búsqueda

Tu aplicación no solo guardará y leerá datos, también te permitirá buscar películas, filtrar por género o año, y validar errores comunes (por ejemplo, precios negativos o IDs duplicados).


Mejorar la calidad y la estructura de código

A lo largo del proyecto, organizarás tu código en varios archivos (módulos):

main.py, models.py, database.py, config.py, errors.py, entre otros.

Esto te enseñará la modularización, un paso fundamental antes de construir proyectos más grandes.


Documentar y probar tu API

FastAPI genera automáticamente una documentación visual (Swagger), pero tú agregarás descripciones, ejemplos y categorías para que tu API sea fácil de entender y de usar.

Además, realizarás tests automáticos para confirmar que los endpoints principales funcionan correctamente.


Prepararte para producción

Al final del proyecto, conectarás tu código con Git y GitHub, y aprenderás a desplegarlo en Vercel, un servicio gratuito que permite poner tu API en línea.

De esta forma, podrás compartir el enlace de tu proyecto y probarlo desde cualquier parte del mundo.