Arquitectura limpia
Capas data / domain /
presentation con fronteras estrictas. El dominio nunca
conoce el backend.
Arquitectura limpia, autenticación, internacionalización, modo offline, tests y CI — montados, tipados y probados. Todo lo que se repite en cada app seria, ya resuelto.
Construido sobre
Capas data / domain /
presentation con fronteras estrictas. El dominio nunca
conoce el backend.
Errores tipados, guard de auth, modo offline, tests, golden tests y umbral de cobertura bloqueante en CI.
Shell adaptativo: bottom nav flotante en móvil, NavigationRail en tablet y web. Light y dark de serie.
Cada componente vive en una pantalla navegable con su propia URL
(/ui-kit/buttons, deep-link incluido). Revisa
botones, inputs, cards y estados en claro y oscuro sin montar
nada.
Botones, chips, campos y switches con espaciado, radios y tipografía como tokens — sin números mágicos. Cambia el tema y todo responde. Los golden tests fijan el render pixel a pixel.
Ver qué incluyeBúsqueda de usuarios con cubit, paginación offset/limit, dedup y estados de error que conservan lo ya cargado. El patrón exacto que replicarás en tus features reales.
Un botón "Continuar como invitado" crea una sesión anónima de Supabase: la gente prueba la app sin dejar sus datos. Sigue siendo un usuario real, con su rol y sus políticas de seguridad en la base de datos, y el perfil muestra que es un invitado.
ProbarloCada pieza que una app seria necesita — resuelta, tipada y con tests.
data / domain /
presentation, separación estricta.
AppException →
Either<Failure, T> con fpdart.
go_router con redirect testeable: splash, onboarding,
auth.
flutter_bloc: cubits → casos de uso → estados tipados.
get_it con orden de registro explícito.
ARB en/es con
flutter gen-l10n.
Banner global de conectividad y estados de carga/vacío/error.
Unitarios, golden y cobertura bloqueante en GitHub Actions.
Espaciado, radios y tipografía como tokens. Light y dark.
Buzón in-app con no-leídos en tiempo real, borrado y push (FCM) opcional. Mensajes traducidos por código.
Entra sin registrarte: sesión anónima real, con nombre para poder atenderte y borrado automático cuando deja de usarse.
Tickets con hilo tipo chat, bandeja para quien atiende y "sin leer" a cada lado. Todo en tiempo real.
RBAC user/admin/owner con
dashboard, protegido por RLS en la base de datos.
Mantenimiento, actualización forzada y feature flags desde la BD, en tiempo real.
Arquitectura limpia, tipada y con tests, corriendo de verdad. Pruébala en tu navegador.
Probar la app