[React x Supabase] Renovando una app de registro de aprendizaje con TypeScript y ChakraUI

Reconstrucción de una app de registro de aprendizaje con React, TypeScript y Chakra UI, integrada con Supabase y Firebase, con pruebas Jest/RTL y CI/CD en GitHub Actions para despliegue en producción.

23 sept 2025 • 5 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Introducción: En este artículo relato la reconstrucción de una aplicación de registro de aprendizaje que desarrollé previamente en React, ahora modernizada con TypeScript y Chakra UI. Además implementé despliegue en Firebase, integración con Supabase para almacenamiento y datos, CI/CD automatizado con GitHub Actions y pruebas automatizadas con Jest y React Testing Library. A lo largo del texto explico la estructura de la app, los retos de desarrollo y las soluciones aplicadas, así como los aprendizajes y mejoras identificadas.

Descripción general de la aplicación: La app permite registrar contenidos de estudio diarios y el tiempo dedicado, calcula automáticamente el total acumulado y ofrece funcionalidades clave como almacenamiento en Supabase, eliminación sincronizada de registros en la nube, indicadores de carga con spinner mientras se recuperan los datos y despliegue continuo en Firebase para disponer de un entorno de producción real donde ejecutar pruebas end to end.

Características principales: registros diarios de aprendizaje con tiempo por sesión, listado y edición de registros, eliminación que sincroniza con Supabase para mantener la consistencia, mostradores de carga y manejo de errores, y despliegue automatizado para facilitar pruebas en entorno productivo. La aplicación fue reescrita en TypeScript, utilizando React Hook Form para la gestión de formularios y Chakra UI para componentes accesibles y consistentes.

Decisiones técnicas relevantes: elegir TypeScript aumentó la seguridad en tiempo de compilación y facilitó el mantenimiento del código. React Hook Form redujo la complejidad de los formularios y mejoró el rendimiento al minimizar renders innecesarios. Chakra UI permitió acelerar el diseño con componentes listos y control del tema global mediante ChakraProvider aplicado a la raíz de la app.

Integración con Supabase y Firebase: Supabase se usó como backend gestionado para la base de datos y el almacenamiento de archivos. Gracias a su consola GUI fue sencillo crear tablas, reglas y conexiones. Firebase se empleó para el hosting y la distribución de la web, permitiendo un rollback rápido y entornos de prueba en producción. El flujo de trabajo incluyó la eliminación de registros en la UI que lanzaba peticiones a Supabase y actualizaba el estado local solo cuando la operación en la nube finalizaba con éxito.

CI/CD y pruebas: configuré GitHub Actions para ejecutar pruebas con Jest y React Testing Library, construir la app y desplegar en Firebase de forma automática ante cada push a ramas seleccionadas. En local añadí make test en un Makefile para homogeneizar la ejecución de pruebas. Este pipeline automatizado asegura que cada cambio pase por pruebas unitarias e integración antes de llegar al entorno público.

Retos encontrados y soluciones:

1. Inconsistencia entre tests y UI Problema: pequeñas diferencias en el texto usado por la UI y el texto buscado en las pruebas provocaban fallos. Solución: usar selectores más flexibles en tests, por ejemplo expresiones regulares insensibles a mayúsculas, y revisar conjuntamente la redacción de la interfaz y los tests para evitar discrepancias.

2. Gestión del estado Problema: decidir qué información debía vivir en useState resultó complejo al principio. Solución: considerar estado únicamente aquello que afecta directamente a la UI: lista de registros, flag de carga, mensajes de error, registro en edición. Organizar el estado por responsabilidad mejora trazabilidad y evita renders innecesarios.

3. Renderizado de modales y ramas condicionales Problema: colocar un modal dentro de una condición que ocultaba la UI impidió que el modal se mostrara al abrirlo. Solución: ubicar el modal fuera de las ramas condicionales y controlarlo mediante isOpen onOpen onClose, permitiendo mostrarlo independientemente de la lógica de carga o error.

Buenas prácticas aprendidas: revisar la coherencia entre pruebas y UI, mantener el estado mínimo necesario para la representación, aislar problemas reproduciéndolos en versiones mínimas del código y utilizar herramientas cloud con GUI para acelerar la configuración inicial.

Puntos de mejora y aprendizajes técnicos: aprendí a montar un entorno Vite React TypeScript Chakra UI desde cero, incluyendo la correcta aplicación de ChakraProvider a nivel global. Mejoré mis habilidades de CI/CD creando pipelines de build test deploy en GitHub Actions. También reforcé mis técnicas de debugging aislando errores y distinguiendo entre problemas de entorno y errores de implementación.

Lecciones sobre cloud y herramientas: la curva de entrada a servicios como Supabase y Firebase es más baja de lo esperado gracias a sus interfaces gráficas. Esto facilita tareas que antes requerían mucha configuración manual, como la creación de tablas o el despliegue. La documentación y artículos en la comunidad fueron fundamentales para resolver incidencias rápidamente.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida que combina experiencia técnica con foco en negocio. Ofrecemos servicios de software a medida, soluciones en la nube y proyectos de inteligencia artificial y ciberseguridad. Si buscas desarrollar una solución personalizada y escalable, podemos ayudarte con el desarrollo de aplicaciones a medida o con la integración de modelos de IA en procesos empresariales mediante nuestros servicios de inteligencia artificial.

Palabras clave y servicios: este proyecto está alineado con servicios que ofrecemos como aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure inteligencia de negocio ia para empresas agentes IA y power bi. Integrar estas capacidades permite transformar una idea en un producto robusto y seguro, con despliegue automático y supervisión continua.

Conclusión: la renovación de la app fue una experiencia completa que abarcó desde el diseño y la implementación hasta las pruebas y el despliegue automatizado. El proyecto reforzó conceptos clave de front end y backend, mejoró la disciplina de testing y CI/CD y demostró el valor de las plataformas cloud. En Q2BSTUDIO queremos convertir aprendizajes como este en soluciones reales para nuestros clientes y ayudarte a llevar tus proyectos al siguiente nivel con software a medida y tecnologías emergentes.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.