How finflowa/app-financas works
FinFlow is a shared personal and household finance product delivered through an Expo mobile app and a Next.js web dashboard. Users authenticate, manage financial records (including accounts, transactions, goals, cards, and categories), then review calendars and reports or ask the finance assistant for help. Both clients use the same Supabase-backed data and rules; the README also documents server-side AI and web subscription checkout. The tree and excerpts do not show the full database schema or all runtime calls, so uncertain connections are omitted.
Main entry points: _layout.tsx Expo app · transaction-manager.tsx Transactions · index.ts Finance AI function · layout.tsx Web dashboard
Components 20
User interfaces
- Expo app
app/_layout.tsx - Web dashboard
web/src/app/(dashboard)/layout.tsx
Finance workflows
- Transactions
web/src/app/(dashboard)/transacoes/transaction-manager.tsx - Accounts
web/src/app/(dashboard)/contas/account-manager.tsx - Financial goals
web/src/app/(dashboard)/objetivos/objetivos-manager.tsx - Cards and invoices
web/src/app/(dashboard)/cartoes/cartao-detalhe-manager.tsx - Calendar
web/src/app/(dashboard)/calendario/calendar-manager.tsx - Reports
web/src/app/(dashboard)/relatorios/page.tsx - Finance assistant
app/chat-ia.tsx
Shared client services
- Authentication
lib/auth-flow.ts - Offline sync
lib/offline-sync.ts - Notifications
lib/notifications.ts - Mobile data client
lib/supabase.ts - Web data client
web/src/lib/supabase/server.ts
Backend services
- Supabase data platform
- Finance AI function
supabase/functions/finance-ai/index.ts - Subscription checkout
supabase/functions/create-subscription-checkout/index.ts
External integrations
- Paddle Billing
- AI provider
Other components
- Finance user
Connections 22
- Finance user → Expo app: uses
README.md - Finance user → Web dashboard: uses
README.md - Expo app → Authentication: handles sign-in
app/_layout.tsx - Expo app → Offline sync: syncs queued work
app/_layout.tsx - Expo app → Mobile data client: accesses data
app/_layout.tsx - Web dashboard → Web data client: accesses data
README.md - Transactions → Web data client: submits actions
- Transactions → Accounts: selects account
web/src/app/(dashboard)/transacoes/transaction-manager.tsx - Transactions → Financial goals: selects destination
web/src/app/(dashboard)/transacoes/transaction-manager.tsx - Calendar → Transactions: uses transaction data
web/src/app/(dashboard)/calendario/calendar-manager.tsx - Mobile data client → Supabase data platform: connects to
README.md - Web data client → Supabase data platform: connects to
README.md - Finance assistant → Finance AI function: requests assistance
README.md - Finance AI function → Supabase data platform: uses financial context
README.md - Finance AI function → AI provider: calls provider
README.md - Subscription checkout → Paddle Billing: creates checkout
README.md - Paddle Billing → Web dashboard: returns billing events
README.md - Accounts → Supabase data platform: shares financial data
README.md - Financial goals → Supabase data platform: shares financial data
README.md - Cards and invoices → Supabase data platform: shares financial data
README.md - Reports → Supabase data platform: reads shared data
README.md - Notifications → Expo app: schedules reminders
app/_layout.tsx