PowerBooks
Plataforma de gestión de préstamos y catálogo de libros con autenticación, búsqueda avanzada y persistencia en Firebase.

Vista General del Proyecto
Préstamo y descubrimiento de libros. Problema: sincronizar estado de préstamos y disponibilidad en tiempo real. Solución: Firebase + NextAuth + Clean Architecture. Stack: Next.js, React, Firebase, Firestore, 2FA con TOTP. Resultado: búsqueda con Google Books API, lista de deseos con notificaciones, Lighthouse >90.
Módulos Core
Catálogo de Libros y Búsqueda Avanzada
Muestra libros desde APIs públicas (Google Books / Open Library). Implementa búsqueda por título, autor y palabras clave, con filtros por categoría y ordenación por popularidad o fecha. Incluye paginación y skeleton loading para mejorar la percepción de rendimiento.
Autenticación y Gestión de Perfiles
Login/registro tradicional (email/contraseña) y con Google usando NextAuth.js + Firebase. Rutas protegidas mediante middleware. Perfil de usuario con secciones: 'Mi Biblioteca' (libros prestados, leyendo, completados) y datos personales.
Sistema de Préstamos y Fechas de Vencimiento
Permite tomar libros prestados por un período definido (ej. 14 días). Registra fecha de préstamo y vencimiento. El historial se almacena en Firestore. Muestra notificaciones de vencimiento cercano y permite renovaciones automáticas si el libro está disponible.
Lista de Deseos y Rastreador de Lectura
Los usuarios pueden agregar libros a una lista de deseos y marcar progreso de lectura (Leyendo, Completado, Abandonado). Se integra con las notificaciones para avisar cuando un libro deseado está disponible para préstamo.
Seguridad y Validaciones
Sanitización de inputs con DOMPurify, validación de formularios con Zod, protección contra XSS y CSRF. Rutas protegidas por middleware que verifica la sesión activa. Reglas de seguridad en Firestore a nivel de documento. Opción de 2FA con TOTP.
Notificaciones en Tiempo Real y Emails
Sistema de notificaciones push (Firebase Cloud Messaging) para alertar sobre vencimientos, disponibilidad de libros deseados o confirmación de préstamos. Envío de correos transaccionales con Resend (bienvenida, confirmación de préstamo, recordatorio de vencimiento).
Optimización de Rendimiento y Accesibilidad
Imágenes optimizadas con next/image y lazy loading. Puntuación Lighthouse >90 en rendimiento y accesibilidad. Navegación por teclado, roles ARIA, contraste de colores y etiquetas semánticas HTML. SSR/SSG para catálogo estático y CSR para secciones dinámicas.
Tecnologías Implementadas
frontend
backend
ai And Storage
tools
Galería del Sistema





