BG-01 · ONLINE
[ DESCARGAR CV ]
Volver al registro

M-009

Completada

FindMe · Ubicación en tiempo real

App tipo «Buscar» de Apple: backend en Go con WebSockets, PostgreSQL + PostGIS y Redis pub/sub para escalar horizontalmente. JWT con refresh tokens rotativos y detección de robo.

Esquemático de FindMe: malla de nodos con un pulso de posición y un bus de mensajes pub/sub
Rol
Desarrollador único · proyecto propio
Duración
MVP · 2 semanas
Inicio
ago 2026

App web de ubicación en tiempo real entre contactos, al estilo de «Buscar» de Apple: cada usuario comparte su posición con contactos aprobados y la ve en un mapa en vivo. Backend en Go con WebSockets y arquitectura hexagonal, PostgreSQL + PostGIS para los datos geográficos y Redis pub/sub para que varias instancias de la API compartan las actualizaciones. Access token JWT corto y refresh tokens opacos rotativos: si llega un token ya rotado se asume robo y se revocan todas las sesiones. Frontend en React 19 + TypeScript con Mapbox.

▸ Logros clave

  • Posiciones en vivo por WebSockets, con un hub concurrente probado con el detector de carreras.
  • Redis pub/sub para escalar la API horizontalmente sin perder actualizaciones entre instancias.
  • Refresh tokens de 256 bits guardados con hash, rotados en cada uso y con detección de robo.

▸ Desafíos

  • Sincronizar ubicaciones entre varias instancias de la API sin estado compartido en memoria.
  • Poder revocar sesiones robadas manteniendo tokens de acceso cortos y sin estado.
  • WebSockets

    Tiempo real

  • Redis pub/sub

    Escalado horizontal

▸ STACK DESPLEGADO

  • Go
  • PostgreSQL
  • Redis
  • React
  • TypeScript