How peter-burza/budgeter works
BudgeTer is a personal budget tracker. A user records income or expenses on the dashboard; the app loads account settings and balances, retrieves transaction data, and presents financial overviews. Transactions can be future-dated and processed later, while settings support currency selection and recurring expected transactions. The graph includes authentication, transaction persistence, balance state, and dashboard summaries. The README is brief and several source excerpts are partial, so uncertain integrations and unsampled implementation details are omitted.
Main entry points: page.tsx Dashboard · index.tsx Transaction logic · TransactionsContext.tsx Transactions context · CurrentBalance.ts Balance state
Components 18
App experience
- Dashboard
src/app/page.tsx - Settings page
src/app/settings/page.tsx - Transaction entry
src/components/Entry.tsx - Budget overview
src/components/BudgetOverview.tsx - Current overview
src/components/CurrentOverview.tsx
Identity and settings
- Auth context
src/context/AuthContext.tsx - Settings state
src/context/SettingsState.ts - Currency state
src/context/CurrencyState.ts - Currency selector
src/components/ui/CurrencySelector.tsx
Transactions and balances
- Transactions context
src/context/TransactionsContext.tsx - Balance state
src/context/CurrentBalance.ts - Transaction logic
src/lib/index.tsx - Firestore data
Recurring and future
- Recurring state
src/context/ExpTransactionsStore.ts - Recurring settings
src/components/ExpTransactions.tsx - Future state
src/context/FutureTransactions.ts
Other components
- User
- Firebase Auth
Connections 30
- User → Dashboard: uses
- User → Settings page: opens
- Dashboard → Transaction entry: renders
- Dashboard → Budget overview: renders
- Dashboard → Current overview: renders
- Transaction entry → Transaction logic: saves via
- Dashboard → Settings state: fetches settings
- Dashboard → Balance state: fetches balance
- Dashboard → Transactions context: loads transactions
- Dashboard → Recurring state: loads recurring
- Dashboard → Future state: loads future
- Dashboard → Transaction logic: processes recurring
- Budget overview → Transactions context: deletes via
- Settings page → Currency selector: renders
- Settings page → Recurring settings: renders
- Currency selector → Currency state: updates
- Recurring settings → Recurring state: manages
- Auth context → Firebase Auth: authenticates
- Auth context → Settings state: resets settings state
- Auth context → Balance state: resets balance state
- Transactions context → Transaction logic: saves and processes
- Transactions context → Firestore data: reads and writes
- Transactions context → Balance state: updates balance
- Transaction logic → Firestore data: reads and writes
- Transaction logic → Balance state: updates balance
- Transaction logic → Future state: adds future entries
- Balance state → Firestore data: reads and writes
- Settings state → Firestore data: reads and writes
- Recurring state → Firestore data: reads and writes
- Future state → Firestore data: reads and writes