¡Bienvenidos al taller de MongoDB con FastAPI! En este taller, aprenderemos a crear una API RESTful utilizando FastAPI y MongoDB para gestionar beneficios sustentables. Este taller está diseñado para practicantes que desean mejorar sus habilidades en el desarrollo de APIs y el manejo de bases de datos NoSQL.
Objetivos del Taller
- Configurar FastAPI: Aprender a configurar un proyecto FastAPI.
- Conectar MongoDB: Conectar FastAPI con una base de datos MongoDB.
- Implementar CRUD: Crear, leer, actualizar y eliminar registros de beneficios sustentables.
Requisitos Previos
- Conocimientos básicos de Python.
- Familiaridad con conceptos de APIs RESTful.
- Instalación de Python y pip.
- Cuenta en MongoDB Atlas.
- Instalación de MongoDB.
Instrucciones del Desafío
1. Configuración del Proyecto
a. Instalar FastAPI y Uvicorn
Primero, necesitamos instalar FastAPI y Uvicorn, que es el servidor ASGI que utilizaremos para ejecutar nuestra aplicación.
b. Instalar Driver de MongoDB para Python
Instalar Pymongo que es una biblioteca asíncrona para MongoDB.
2. Crear el Modelo de Beneficios Sustentables
Definiremos un modelo simple de beneficios sustentables con no más de 5 campos.
from pydantic import BaseModel
from typing import Optional
class Benefit(BaseModel):
id: Optional[str]=None
name:str
description:str
category:str
impact:str
created_date:str
3. Configurar la Conexión a MongoDB
Crearemos una función para conectarnos a MongoDB y definiremos una colección para almacenar los beneficios sustentables.
4. Implementar el CRUD
a. Crear un Beneficio Sustentable
Definiremos una ruta POST para crear un nuevo beneficio sustentable. La ruta debe recibir un objeto JSON con los datos del beneficio y guardarlo en la base de datos.
b. Leer Beneficios Sustentables
Definiremos una ruta GET para obtener todos los beneficios sustentables almacenados en la base de datos. La ruta debe devolver una lista de beneficios en formato JSON.
c. Actualizar un Beneficio Sustentable
Definiremos una ruta PUT para actualizar un beneficio sustentable existente. La ruta debe recibir el ID del beneficio y un objeto JSON con los datos actualizados.
d. Eliminar un Beneficio Sustentable
Definiremos una ruta DELETE para eliminar un beneficio sustentable existente. La ruta debe recibir el ID del beneficio y eliminarlo de la base de datos.
5. Ejecutar la Aplicación
Para ejecutar la aplicación, usamos el siguiente comando:
fastapi dev main.py
6. Pruebas
Utiliza herramientas como Postman o cURL para probar las rutas de tu API.
Extras (opcional)
Crea una cuenta en Vercel, sube tu proyecto a Github y despliegalo a travéz de Vercel. Envianos la URL al correo hello@empatiaindustries.com
Conclusión
¡Felicidades! Has completado el taller de MongoDB con FastAPI. Ahora tienes una API RESTful funcional que permite realizar operaciones CRUD en una base de datos MongoDB. Este es un excelente punto de partida para desarrollar aplicaciones más complejas y robustas.
Si tienes alguna pregunta o necesitas ayuda adicional, no dudes en preguntar. ¡Buena suerte con tu desarrollo!