
Obsidian Library
Sistema integral de gestión de biblioteca con préstamos, suscripciones y pagos automatizados
Año
2026
Duración
3 meses
Rol
Full Stack Developer
Tipo
Proyecto Personal
Resumen
69
Endpoints
API completa y modular
JWT
Auth
Access token y refresh token
Stripe
Pagos
Integración con Stripe
PageResponse
Paginación
PageResponse reutilizable
El Problema
Se necesitaba una plataforma robusta para administrar libros, préstamos, reservas, suscripciones y pagos dentro de una sola solución, con seguridad, trazabilidad y lógica de negocio bien definida.
La Solución
Diseñé y desarrollé una arquitectura full stack con backend en Spring Boot y frontend en Next.js, integrando autenticación segura, pagos con Stripe, webhooks, notificaciones por correo y una experiencia fluida para administración y usuarios finales.
Arquitectura
Arquitectura en capas
Backend organizado en layers de configuración, controller, domain, exception, mapper, model, payload, repository, service y util para mantener separación de responsabilidades.
Seguridad de sesión
Autenticación basada en access token y refresh token, con manejo de cookies HTTP-only para mejorar la protección de la sesión.
Procesos asíncronos
Implementación de webhooks, envío de correos con Thymeleaf y flujos automáticos para pagos, multas y reembolsos.
Stack Tecnológico
Frontend
Backend
Database
DevOps
Other
Características Clave
Catálogo completo
Gestión de géneros, subgéneros, libros y búsquedas organizadas.
Préstamo y reservas
Control de préstamos, reservas y disponibilidad de libros.
Planes y suscripciones
Administración de planes de suscripción con lógica de negocio asociada.
Pagos y reembolsos
Cobros, refunds, multas y confirmaciones automatizadas con Stripe.
Lista de deseos
Funcionalidad para guardar libros de interés.
Reseñas
Sistema de opiniones para enriquecer la experiencia del usuario.
Retos Técnicos
Flujos de pago
Problema
Era necesario manejar pagos, multas, suscripciones y devoluciones sin romper la consistencia del sistema.
Solución
Integré Stripe con webhooks y reglas de negocio claras para procesar pagos, refunds y estados de suscripción de forma confiable.
Autenticación segura
Problema
La sesión debía mantenerse segura sin exponer tokens en el cliente.
Solución
Usé cookies HTTP-only junto con access token y refresh token para reforzar la seguridad de autenticación.
Paginación consistente
Problema
Varias listas necesitaban respuestas uniformes y reutilizables.
Solución
Implementé PageResponse para estandarizar la paginación en endpoints como libros, reseñas y usuarios.
Resultados
Plataforma con 69 endpoints funcionales y organizados por dominio
Sistema completo de préstamos, reservas, suscripciones y pagos
Arquitectura escalable y mantenible con separación clara de responsabilidades
Integración de correo, webhooks y Stripe para automatización del negocio
Lecciones Aprendidas
"Una buena arquitectura por capas simplifica mantenimiento y crecimiento."
"Los webhooks y los flujos de pago necesitan manejo cuidadoso de estados e idempotencia."
"La seguridad mejora mucho al combinar HTTP-only cookies con tokens bien gestionados."
"Estandarizar respuestas como PageResponse reduce complejidad en frontend y backend."