Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Biblioteca Personal — Sistema de préstamos

Proyecto final del curso de Python modular, persistencia y bases de datos relacionales. Es un sistema de consola para administrar una biblioteca personal: catálogo de libros, prestatarios y el ciclo completo de préstamo y devolución, con persistencia en SQLite.

Funcionamiento

  • Registra libros (título, autor, ISBN, categoría, número de copias).
  • Registra prestatarios (personas a las que se les prestan libros).
  • Gestiona préstamos: no permite prestar un libro sin copias disponibles ni duplicar un préstamo activo de la misma persona para el mismo libro.
  • Calcula préstamos vencidos con base en la fecha esperada de devolución y muestra una alerta al iniciar el programa.
  • Genera reportes: libros más prestados, conteo por categoría, promedio de días que tarda la gente en devolver un libro.
  • Exporta el catálogo completo a CSV (abrible en Excel).
  • Crea un log de auditoría en JSON con cada operación realizada.

Arquitectura

├── models/ # Dataclasses: Libro, Categoria, Prestatario, Prestamo ├── repositories/ # Acceso a datos (SQL) ├── services/ # Reglas de negocio, validaciones y excepciones de dominio ├── db/ # schema.sql y manejo de la conexión SQLite ├── utils/ # Exportadores CSV/JSON ├── tests/ # Pruebas automatizadas ├── exceptions.py # Excepciones ├── main.py # único lugar donde se capturan las excepciones └── seed_data.py # Datos de ejemplo

Reportes y exportaciones

  • CSV: menú 5. Exportar catálogo a CSV` genera exports/libros.csv.
  • JSON: cada préstamo, devolución y alta de libro queda registrado en exports/auditoria.json.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages