CMCS

Vista principal de la aplicación CMCS Ver detalles del proyecto

Aplicación desarrollada para la gestión de una colección de cómics. Con frontend y backend en diferentes dominios y conexión mediante API.

Tecnologías utilizadas

Retos técnicos

En este proyecto quise profundizar en el uso de Astro con React y Tailwind CSS. Es mi segundo proyecto con Astro, después del desarrollo del propio portafolio, y en esta ocasión quería experimentar especialmente con su arquitectura basada en islas. Al mismo tiempo, planteé una arquitectura separando completamente el frontend y el backend en diferentes subdominios, comunicándolos mediante una API REST desarrollada con Laravel. Uno de los primeros retos fue gestionar el estado y la comunicación entre las diferentes islas de React de Astro, ya que cada isla mantiene su propio estado. Esto obligó a estudiar distintas estrategias para compartir información sin convertir la aplicación en una SPA tradicional. También quise mejorar la gestión de los datos mediante React Query/TanStack Query, especialmente para resolver problemas de caché, sincronización y peticiones duplicadas. Otro reto importante fue implementar la autenticación mediante cookies utilizando Laravel Sanctum en un frontend y una API situados en diferentes subdominios. Esto supuso aprender cómo funcionan CORS, las cookies seguras, SameSite, CSRF y las peticiones con credenciales, hasta conseguir una autenticación basada en sesión sin almacenar tokens en localStorage. Finalmente, el despliegue en Hostinger permitió enfrentarse a diferencias entre el entorno local y producción. Entre ellas apareció un problema con la recepción de formularios multipart mediante peticiones PUT, que se solucionó utilizando method spoofing mediante POST y _method=PUT. También fue necesario configurar correctamente el entorno de producción, CORS, Sanctum, almacenamiento y la conexión con la base de datos. El proceso incluyó la actualización de Laravel de la versión 12 a la 13, por un conocido problema de seguridad, con la actualización de varias dependencias.