Especialista en Backend y Frontend para mantenimiento y optimización de plataforma ENARMAD
Buscamos un desarrollador o equipo con experiencia en backend y frontend para editar, mantener y optimizar la infraestructura actual de ENARMAD, una plataforma educativa médica que ya se encuentra en producción.
El objetivo del proyecto es trabajar sobre código existente, realizando ajustes, mejoras y optimizaciones tanto en backend como en frontend, asegurando estabilidad, escalabilidad y una correcta integración entre los distintos servicios.
No se trata de construir desde cero, sino de entender la arquitectura existente y mejorarla de forma controlada y profesional.
Arquitectura y tecnologías actuales
La plataforma ENARMAD cuenta con una arquitectura definida y documentada, tanto en frontend como en backend.
Infraestructura en la nube
Google Cloud se utiliza como infraestructura principal, proporcionando alta disponibilidad, seguridad y escalabilidad.
Backend
El backend está desarrollado en
Node.js utilizando JavaScript, con una arquitectura modular y orientada a dominios.
Componentes principales:
* api rest desarrollada con express.
* Despliegue mediante contenedores en Google Cloud (Cloud Run / App Engine).
* Autenticación y control de acceso gestionados mediante Firebase Admin.
* Integración con Stripe mediante webhooks para pagos web y Android.
* Integración con SendGrid para correos transaccionales.
* Uso de Firebase como capa de persistencia principal.
El backend se organiza por módulos funcionales (usuarios, exámenes, estadísticas, pagos, suscripciones, progreso), utilizando controladores, servicios y middlewares para validación, autenticación y control de roles.
El trabajo esperado incluye mantenimiento evolutivo, refactorización puntual, optimización de flujos de datos y mejora de la organización del código cuando sea necesario.
---
Frontend
El frontend está desarrollado en Flutter, utilizando Dart como lenguaje principal, con dos enfoques coexistiendo actualmente:
* FlutterFlow (low-code sobre Flutter) utilizado en la aplicación móvil que está en producción.
* Flutter puro para el nuevo frontend web, desplegado en Netlify, con una arquitectura más controlada y extensible.
La arquitectura del frontend se basa en:
* flutter_bloc y hydrated_bloc para manejo de estado.
* Go_router para navegación y control de rutas.
* Separación clara por capas: vistas, blocs/cubits, servicios y modelos.
* Persistencia de estado para sesiones, progreso y configuración del usuario.
* Manejo de roles y permisos directamente desde la capa de navegación y estado.
El frontend consume tanto servicios del backend como datos directos desde Firebase, por lo que es importante mantener una clara separación de responsabilidades y evitar duplicación de lógica.
---
Base de datos
Firebase se utiliza como base de datos principal, proporcionando:
* Sincronización en tiempo real.
* Integración directa con frontend y backend.
* Manejo de autenticación y reglas de acceso.
Pagos y suscripciones
* Stripe se utiliza para pagos en web y Android.
* RevenueCat se utiliza para la gestión de suscripciones y compras dentro de la app en iOS.
* Ambos sistemas están integrados con backend y frontend para validación de estado de suscripción.
Control de versiones y despliegue
* GitHub se utiliza como sistema de control de versiones, con trabajo mediante branches y pull requests.
* Netlify se utiliza para el despliegue del frontend web, con integración continua conectada a GitHub.
* Los servicios backend se despliegan en Google Cloud.
Alcance del trabajo
El trabajo se enfocará en:
* Edición y mejora de código existente en backend y frontend.
* Corrección de errores, refactorización y optimización de rendimiento.
* Revisión y optimización de flujos entre frontend, backend y Firebase.
* Mejora de la arquitectura y organización del código cuando sea necesario.
* Soporte en despliegues y configuración en Netlify y Google Cloud.
* Trabajo colaborativo mediante GitHub (branches, pull requests y control de cambios).
Perfil buscado
Buscamos un perfil con experiencia real en:
*
Node.js y backend en producción.
* Arquitecturas REST y manejo de autenticación con Firebase.
* Frontend con Flutter y manejo avanzado de estado (BLoC/Cubit).
* Integración con Stripe, RevenueCat y SendGrid.
* Uso profesional de GitHub y flujos de trabajo colaborativos.
* Plataformas de despliegue como Netlify y servicios en Google Cloud.
Es indispensable la capacidad de leer, entender y mejorar código existente, así como una comunicación clara y enfoque en soluciones estables y mantenibles.
El proyecto se basa en una plataforma real, actualmente en operación, por lo que se valora especialmente la experiencia en mantenimiento evolutivo, refactorización controlada y trabajo sobre sistemas ya desplegados.
Project duration Not specified