CodeForge

Python de Cero a Experto / Ruta backend

Reto: la capa de datos de una API

Reto40 min60 XP

El corazón de toda API es su lógica CRUD: crear, leer, actualizar y borrar registros de forma confiable. Hoy construyes esa capa de datos completa para Mi Bolsillo con sqlite3 —corriendo en vivo— con validación incluida, tal como viviría dentro de un service de FastAPI. Luego, la solución muestra cómo se envuelve en endpoints FastAPI. Es el núcleo real de un backend: la lógica que persiste y protege los datos.

Reto

Capa de datos CRUD

Media35 min60 XP(×2 sin mirar la solución)

Qué debes construir

Una clase RepositorioGastos que gestione gastos en una base de datos SQLite, con validación:

  1. __init__: conecta a una base en memoria y crea la tabla gastos (id, nombre, valor, categoria).
  2. crear(nombre, valor, categoria): valida (nombre no vacío, valor positivo; lanza ValueError si no) e inserta, devolviendo el gasto creado con su id.
  3. listar(categoria=None): devuelve todos los gastos, o los de una categoría si se indica.
  4. obtener(gasto_id): devuelve un gasto por id, o None si no existe.
  5. actualizar(gasto_id, valor) y borrar(gasto_id): modifican/eliminan un registro.

Reglas

  • Usa parámetros ? en el SQL (nunca f-strings con datos: inyección SQL).
  • Valida en crear lanzando ValueError con mensaje claro.
  • Devuelve diccionarios (no filas crudas) para que sea fácil convertir a JSON.

35:00

Cuando estés listo, arranca el reloj.

Qué sigue

Módulo 8 conquistado: dominas la ruta de backend con FastAPI —APIs, validación, bases de datos, auth, estructura y tests—. Puedes construir el servidor de cualquier aplicación. El módulo 9 abre la última ruta y una de las más demandadas: DATOS E IA —NumPy, Pandas, visualización y machine learning—, donde Python es el rey indiscutible. Y lo mejor: NumPy y Pandas corren aquí mismo, en vivo.