JW Reports

Aplicación móvil desarrollada con React Native y Supabase para gestionar horas, revisitas y cursos, con autenticación, sincronización en la nube y notificaciones inteligentes. Un proyecto end‑to‑end que demuestra dominio de desarrollo móvil, integración con BaaS, buenas prácticas de seguridad y capacidad para crear soluciones útiles y escalables.

Imagen del proyecto JW Reports

Kristhian Ferrufino

10/04/2023

Imagen de la actividad de un programador

Desarrollé esta aplicación móvil con el objetivo de ofrecer una herramienta más completa para gestionar actividades teocráticas, yendo más allá de las apps existentes que solo registran horas de predicación. Quería crear una solución que permitiera llevar control de revisitas y cursos, además de integrar un sistema de autenticación para que los usuarios pudieran guardar sus datos en la nube y recuperarlos fácilmente desde cualquier dispositivo Android. Esto resolvía una limitación común: si la app se borraba, toda la información se perdía.


Aunque mi especialidad es el desarrollo web, decidí asumir el reto de construir la aplicación con React Native y TypeScript. Para el diseño me inspiré en la estética de JW Library, adaptando su paleta de colores tanto para el modo claro como para el oscuro. Parte del propósito del proyecto era aprender, así que aproveché la oportunidad para explorar nuevas tecnologías. En ese proceso descubrí Supabase, un BaaS basado en PostgreSQL que encajaba perfectamente con las necesidades del proyecto. Lo integré para manejar autenticación, almacenamiento seguro y sincronización de datos, aplicando buenas prácticas de seguridad conforme avanzaba.


El desarrollo tuvo pausas debido a compromisos universitarios, y al retomarlo meses después enfrenté el desafío de actualizar el proyecto a versiones más recientes, especialmente por incompatibilidades con React Native Reanimated. Tras resolver estos problemas, continué implementando las funcionalidades restantes. Para habilitar características como recuperación de contraseña, confirmación de correo y notificaciones diarias, desarrollé pequeños servicios adicionales. Entre ellos, un endpoint que verifica revisitas, cursos y recordatorios de fin de mes, enviando notificaciones mediante One Signal a través de una tarea programada.


La fase de pruebas la realicé con Jest y Testing Library, herramientas que considero esenciales para asegurar calidad en proyectos React. Tras corregir los errores encontrados, diseñé el logo y el SplashScreen, y finalmente generé el APK para su instalación. Opté por distribuir la aplicación mediante un enlace de descarga, ya que no busco monetizarla y publicar en Play Store implica costos y mantenimiento adicional.


Imagen de una pareja de programadores

Compartí la aplicación con varios hermanos para obtener retroalimentación real. Gracias a sus sugerencias pude mejorar la experiencia y corregir detalles antes de generar la versión final. El resultado es una herramienta estable, útil y alineada con los objetivos que me motivaron a desarrollarla.


Este proyecto ha sido especialmente gratificante. No solo fortaleció mis habilidades técnicas y mi capacidad para resolver problemas, sino que también me permitió crear una solución que aporta valor real a quienes la utilizan. Saber que ayuda a los hermanos a organizar mejor sus actividades teocráticas es, sin duda, la parte más satisfactoria de todo el proceso.


Habilidades Aplicadas

https://res.cloudinary.com/dzs8lf9lc/image/upload/v1700445502/portfolio/skills/v5u2rxpt7mebytthfrb2.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708987338/portfolio/skills/Testing_Library_n21cgg.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1700445483/portfolio/skills/eo7yvukj5ejhvotmi1vp.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708577846/portfolio/skills/Supabase_mwagbi.jpghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708642862/portfolio/skills/Jest_bdtntf.png

Comentarios