How lilfranche/finfee-public works
Family Finance is a shared household-finance app: members sign in or accept invitations, then manage accounts, transactions, crypto wallets, family settings, and a dashboard of balances and activity. The browser routes users to these views and sends JSON requests to the backend; backend modules cover authentication, family membership, account and transaction operations, currency conversion, dashboard data, wallets, and Telegram. Source excerpts show frontend routing and API usage, but not backend call relationships, so backend wiring is left unconnected.
Main entry points: App.tsx App router · api.ts JSON API client · AuthPage.tsx Sign in and register · DashboardPage.tsx Dashboard view
Components 25
Web application
- App router
frontend/src/App.tsx - JSON API client
frontend/src/api.ts - Shared UI
frontend/src/ui.tsx - Money formatting
frontend/src/format.ts - Sign in and register
frontend/src/pages/AuthPage.tsx - Dashboard view
frontend/src/pages/DashboardPage.tsx - Transactions view
frontend/src/pages/TransactionsPage.tsx - Accounts view
frontend/src/pages/SourcesPage.tsx - Crypto wallets view
frontend/src/pages/WalletsPage.tsx - Family view
frontend/src/pages/FamilyPage.tsx - Settings view
frontend/src/pages/SettingsPage.tsx
Finance domain
- Transactions
backend/internal/app/transactions.go - Accounts
backend/internal/app/sources.go - Dashboard data
backend/internal/app/dashboard.go - Currencies and rates
backend/internal/app/currency.go - Wallet synchronization
backend/internal/app/crypto.go
Identity and family
- Authentication
backend/internal/app/auth.go - Family membership
backend/internal/app/family.go
Backend platform
- Telegram bot
backend/internal/app/telegram.go - HTTP server
backend/internal/app/http.go - Background jobs
backend/internal/app/background.go - Configuration
backend/internal/app/config.go - Database
backend/internal/app/db.go - Server entry point
backend/cmd/server/main.go
Other components
- Family member
Connections 19
- Family member → App router: uses
frontend/src/App.tsx - App router → Sign in and register: shows
frontend/src/App.tsx - App router → Dashboard view: routes to
frontend/src/App.tsx - App router → Transactions view: routes to
frontend/src/App.tsx - App router → Accounts view: routes to
frontend/src/App.tsx - App router → Crypto wallets view: routes to
frontend/src/App.tsx - App router → Family view: routes to
frontend/src/App.tsx - App router → Settings view: routes to
frontend/src/App.tsx - App router → JSON API client: fetches profile
frontend/src/App.tsx - Sign in and register → JSON API client: submits credentials
frontend/src/pages/AuthPage.tsx - Transactions view → JSON API client: manages transactions
frontend/src/pages/TransactionsPage.tsx - Family view → JSON API client: manages family
frontend/src/pages/FamilyPage.tsx - Crypto wallets view → JSON API client: manages wallets
frontend/src/pages/WalletsPage.tsx - Dashboard view → JSON API client: loads dashboard
frontend/src/pages/DashboardPage.tsx - Settings view → JSON API client: updates settings
frontend/src/pages/SettingsPage.tsx - Dashboard view → Money formatting: formats amounts
frontend/src/pages/DashboardPage.tsx - Crypto wallets view → Money formatting: formats dates
frontend/src/pages/WalletsPage.tsx - Sign in and register → Shared UI: renders controls
frontend/src/pages/AuthPage.tsx - JSON API client → HTTP server: sends HTTP requests