KasyKasy

Arquitetura

Como o app gerado se organiza por camadas e por backend.

Todo projeto Kasy segue a mesma arquitetura em camadas. O backend muda, a UI e os fluxos não.

Visão geral

Flutter (UI + Riverpod)
    ↓
Repositories (contratos)
    ↓
API por backend (Firebase / Supabase / REST)
    ↓
Servidor (Functions, Edge Functions ou sua API)
CamadaO que faz
UI (lib/features/*/ui/)Telas, widgets, zero lógica de negócio
Notifiers (*_notifier.dart)Estado, navegação, toasts, chamadas ao repo
RepositoriesContratos que escondem o backend
BackendFirebase, Supabase ou API REST

Três backends, mesma experiência

O Kasy mantém paridade de features nos três backends. A tela de login, paywall, push e admin são as mesmas. Só a camada de dados muda.

BackendServidor
FirebaseCloud Functions + Firestore rules
SupabaseEdge Functions + RLS
API RESTEndpoints que você implementa

Onde mora cada coisa

router.dart
main.dart
PastaConteúdo
lib/features/Uma pasta por feature (auth, onboarding, settings...)
lib/core/Tema, navegação, config, utilitários
lib/components/Design system (KasyButton, KasyCard...)
lib/router.dartRotas globais (GoRouter)
lib/environments.dartFlags de feature e modo de auth

Atualizado em 03/11/2026