Este proyecto es una API para gestionar usuarios, materiales y préstamos utilizando FastAPI, SQLAlchemy y MySQL.
CRUD_Python_MYSQL/
│-- crud/ # Operaciones CRUD para usuarios, materiales y préstamos
│-- models/ # Definición de modelos de base de datos
│-- schemas/ # Esquemas Pydantic para validación de datos
│-- database.py # Configuración de la base de datos
│-- main.py # Punto de entrada de la API
│-- requirements.txt # Dependencias del proyecto
│-- README.md # Documentación del proyecto
-
Clona el repositorio:
git clone https://github.com/CarlosJ67/CRUD_Python_MYSQL.git cd CRUD_Python_MYSQL -
Crea y activa un entorno virtual:
python -m venv EntornoPY source EntornoPY/bin/activate # En Windows usa `EntornoPY\Scripts\activate`
-
Instala las dependencias:
pip install -r requirements.txt
-
Configura la base de datos en
database.py:SQLALCHEMY_DATABASE_URL = "mysql+pymysql://username:password@localhost/dbname"
-
Inicia la aplicación:
uvicorn main:app --reload
-
Abre tu navegador y ve a
http://127.0.0.1:8000/docspara ver la documentación interactiva de la API generada por Swagger.
Define el modelo de usuario con los siguientes campos:
idnombreprimer_apellidosegundo_apellidotipo_usuarionombre_usuariocorreo_electronicocontrasenanumero_telefonostatusfecha_registrofecha_actualizacion
Define el modelo de material con los siguientes campos:
id_materialtipo_materialmarcamodeloestado
Define el modelo de préstamo con los siguientes campos:
id_prestamoid_usuarioid_materialfecha_prestamofecha_devolucionestado
get_users: Obtiene una lista de usuarios con paginación.get_user: Obtiene un usuario por su ID.get_user_by_usuario: Obtiene un usuario por su nombre de usuario.create_user: Crea un nuevo usuario.update_user: Actualiza un usuario existente.delete_user: Elimina un usuario por su ID.
get_materials: Obtiene una lista de materiales con paginación.get_material: Obtiene un material por su ID.create_material: Crea un nuevo material.update_material: Actualiza un material existente.delete_material: Elimina un material por su ID.
get_prestamos: Obtiene una lista de préstamos con paginación.get_prestamo: Obtiene un préstamo por su ID.create_prestamo: Crea un nuevo préstamo.update_prestamo: Actualiza un préstamo existente.delete_prestamo: Elimina un préstamo por su ID.
Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request en GitHub.