Saltar al contenido
Banco de tareas

ARQ-004ArquitecturaImportante

Extraer el dominio mapa con repositorio y adaptadores demo y Supabase

Dificultad
Avanzada
Estimación
3d
Estado
Abierta
Habilidades
typescriptreactsupabaserealtime

Zona sensible. Toca permisos, datos personales, el mapa, secretos o la identidad de marca. Necesita revisión de la titular y conviene haber completado alguna tarea antes.

Contexto

La lógica demo/Supabase se repite dentro de los componentes del mapa (carga, tiempo real, publicar, votar, verificación) y lib/mapa.ts importa tipos de la UI. Es el área más sensible (desahucios, verificación) y la más difícil de tocar con seguridad.

Qué hacer

  1. Crea src/dominios/mapa/ con modelo.ts (tipos y reglas puras, sin depender de components/), repositorio.ts (interfaz listarVigentes, publicar, votar, suscribir, canjearAval, estadoVerificacion) e index.ts.
  2. Implementa adaptadores/demo.ts y adaptadores/supabase.ts.
  3. Crea src/plataforma/datos/elegir.ts, que devuelve el adaptador según modoDemo.
  4. MapaApp, Verificacion y MapaMini usan solo el repositorio y se mueven a src/dominios/mapa/ui/.
  5. Regla no-restricted-imports: @/lib/supabase solo desde src/plataforma/ y src/dominios/*/adaptadores/.

Criterios de aceptación

  • grep -rn "supabase()" src/dominios/mapa/ui src/app/mapa no devuelve nada

  • Hay pruebas unitarias del adaptador demo: publicar, votar y caducar

  • El e2e «Mapa: pines, ficha…» pasa sin cambios

  • Un usuario no verificado sigue viendo el desahucio difuminado (prueba explícita)

  • La titular revisa el PR (mapa)

Archivos

¿Te la quedas?

  1. 1. Haz un fork y crea la rama tarea/ARQ-004-extraer-el-dominio-mapa-con-repositorio.
  2. 2. En tareas/arquitectura/ARQ-004-extraer-el-dominio-mapa-con-repositorio-y-adapta.md, cambia la cabecera:
    estado: reservada
    asignada: tu_usuario_de_github
  3. 3. Abre un PR con ese cambio (commit firmado: git commit -s). Al fusionarse, es tuya durante 14 días.

Todo lo demás