Experiencia Sonora
Cambiar Idioma
Lyra: Estoy aquí. ¿Qué quieres descubrir hoy?

Hola, soy Lyra, tu guía en este portafolio.

Biblioteca Digital | Catálogo Interactivo | Next.js 15 Estado: Completado (Proyecto Universitario)

PowerBooks

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

Portada de PowerBooks

Vista General del Proyecto

PowerBooks es una aplicación web tipo SPA (Single Page Application) desarrollada como proyecto final para la materia Desarrollo Web. Permite a los usuarios explorar un catálogo dinámico de libros obtenido de APIs públicas (Google Books / Open Library), buscar y filtrar por título, autor o categoría, tomar libros prestados con seguimiento de fechas de vencimiento, gestionar una lista de deseos y llevar un rastreador de estado de lectura. El proyecto se trabajó bajo una metodología ágil con planificación por sprints, utilizando GitHub Projects para el backlog y revisiones de código mediante pull requests. Se tomaron decisiones clave de arquitectura desde el inicio: se optó por Next.js 15 con App Router para aprovechar el renderizado híbrido (SSR + CSR) y el enrutado basado en archivos. La autenticación se resolvió con NextAuth.js integrado con Firebase (Firestore Auth y adaptador personalizado), permitiendo login tradicional (email/contraseña) y con Google. Se implementó una arquitectura limpia (Clean Architecture) separando el dominio (core/domain), los puertos (core/ports) y la infraestructura (infrastructure/), facilitando el testeo y la mantenibilidad. El estado global se gestiona con Zustand (stores: auth, books, loans, wishlist, notifications), utilizando persistencia parcial en localStorage. Los préstamos, lista de deseos y notificaciones se almacenan en Firestore, con reglas de seguridad RLS a nivel de colección. Para la comunicación en tiempo real (notificaciones de disponibilidad de libros), se empleó Firebase Cloud Messaging. El frontend es completamente responsivo, construido con Tailwind CSS, y se implementaron medidas de seguridad como sanitización de entradas (con DOMPurify), validación de formularios con Zod, rutas protegidas mediante middleware de Next.js y autenticación de doble factor opcional (TOTP). El despliegue se realizó en Vercel con dominio personalizado (powerbooks.space) y se configuraron variables de entorno para Firebase, Resend (envío de correos) y NextAuth. El equipo trabajó con daily stand-ups, sprints semanales y retrospectivas, logrando un MVP funcional en 6 semanas.

RolFull-Stack Developer & Software Architect
ClienteProyecto Capstone - Desarrollo Web (Universidad)
DuraciónSeptiembre 2025 - Marzo 2026
Año2025

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

Next.js 15TypeScriptTailwind CSSSassZustandReact Hook FormZod

backend

NextAuth.jsFirebase (Auth, Firestore, FCM)Node.jsResend

ai And Storage

Google Books APIOpen Library APIFirebase Storage

tools

Biome (lint/format)Git (GitHub)VercelTurbopack

Galería del Sistema

Captura 1 de PowerBooks
Captura 2 de PowerBooks
Captura 3 de PowerBooks
Captura 4 de PowerBooks
Captura 5 de PowerBooks
Captura 6 de PowerBooks