Esta API REST fue desarrollada utilizando FastAPI en Python y se conecta a una base de datos MySQL. Proporciona operaciones CRUD (Crear, Leer, Actualizar y Eliminar) para gestionar libros y prestamos.
Esta API REST está diseñada para gestionar información relacionada con libros y préstamos. La API incluye dos recursos principales: libros y préstamos. Cada préstamo está vinculado a un libro específico mediante su identificador (ID de libro). Esta documentación te guiará a través de los paquetes y funcionalidades clave de la API.
A continuación se muestra un resumen de los endpoints disponibles en la API:
Endpoint | Método | Descripción |
---|---|---|
/libro |
GET | Obtiene la lista de todos los libros. |
/libro |
POST | Crea un nuevo libro. |
/libro/{IDLibro} |
GET | Obtiene la información de un libro por su ID. |
/libro/{IDLibro} |
PUT | Actualiza la información de un libro existente. |
/libro/{IDLibro} |
DELETE | Elimina un libro por su ID. |
/prestamo |
POST | Crea un nuevo préstamo. |
/prestamos |
GET | Obtiene la lista de todos los préstamos. |
/prestamo/{IDPrestamo} |
GET | Obtiene la información de un préstamo por su ID. |
/prestamo/{IDPrestamo} |
PUT | Actualiza la información de un préstamo existente. |
/prestamo/{IDPrestamo} |
DELETE | Elimina un préstamo por su ID. |
/prestamoAll |
GET | Obtiene la lista de préstamos con información detallada sobre los libros prestados (a través de una operación de JOIN). |
db.py: Este módulo contiene la configuración y la conexión a la base de datos mysql utilizada por la API.
libro.py: Define el modelo de datos para los libros, incluyendo atributos como el título, el autor y otros detalles relevantes. prestamo.py: Define el modelo de datos para los préstamos, incluyendo el ID del libro prestado y la información del prestatario.
libro.py: Este módulo contiene los endpoints básicos para operaciones CRUD (Crear, Leer, Actualizar y Borrar) relacionadas con los libros. prestamo.py: Este módulo contiene los endpoints básicos para operaciones CRUD relacionadas con los préstamos, así como un endpoint adicional que devuelve los préstamos con información detallada sobre los libros mediante una operación de JOIN.
libro.py: Define los esquemas de datos (schemas) utilizados para validar y serializar los datos de los libros. prestamo.py: Define los esquemas de datos (schemas) utilizados para validar y serializar los datos de los préstamos.
Este archivo incluye la configuración principal de la aplicación FastAPI y agrupa los routers para los recursos de libros y préstamos. Es el punto de entrada de la aplicación.
La API ofrece las siguientes funcionalidades:
Crear un nuevo libro. Leer la información de un libro por su ID. Actualizar la información de un libro existente Eliminar un libro.
Crear un nuevo préstamo, especificando el ID del libro prestado. Leer la información de un préstamo por su ID. Actualizar la información de un préstamo existente. Eliminar un préstamo.Obtener una lista de préstamos con información detallada sobre los libros prestados (a través de una operación de JOIN).
Antes de utilizar esta API, asegúrate de tener los siguientes requisitos:
-
Python 3.6 o superior.
-
Bibliotecas Python requeridas (instaladas automáticamente durante la instalación). Puedes instalarlas utilizando el archivo requirements.txt, que contiene las siguientes dependencias:
- Clona este repositorio en tu máquina local:
git clone https://github.com/tu-usuario/tu-repo.git
- Accede al directorio del proyecto:
cd tu-repo
- Crea un entorno virtual (recomendado):
python -m venv venv
- Activa el entorno virtual:
- En Windows:
venv\Scripts\activate
- En macOS y Linux:
source venv/bin/activate
- Instala las dependencias del proyecto:
pip install -r requirements.txt
Para ejecutar la API, asegúrate de estar en el directorio del proyecto y de tener el entorno virtual activado (si lo creaste). Luego, ejecuta el siguiente comando:
uvicorn main:app --reload
La API estará disponible en http://localhost:8000/docs.
Si deseas contribuir a este proyecto, por favor sigue estos pasos:
- Realiza un fork del repositorio.
- Crea una rama con tu nueva característica o corrección: git checkout -b mi-caracteristica.
- Realiza tus cambios y haz commits: git commit -m 'Agrega nueva característica'.
- Sube tus cambios a tu repositorio en GitHub: git push origin mi-caracteristica.
- Crea un Pull Request en el repositorio original.