How xbl2602/budget-app works
Budget App is an offline, browser-based personal finance tracker. Users enter and manage records, categories, budgets, split bills, and purchase plans; the app persists that data locally and renders summaries, reports, statistics, and projections. Settings support data import/export and optional LAN sync, while a separate lightweight mobile HTML app provides quick record and category management. The graph combines README-documented capabilities with sampled source; unsampled features are included only at their documented subsystem level, and uncertain internal wiring is omitted.
Main entry points: 06-router.js Page router · 02-datastore.js Data store · 04-stats-engine.js Stats engine · 18-render-settings.js Settings and import
Components 20
App shell
- Page router
src/js/06-router.js - App startup
src/js/22-init.js - Overview
src/js/10-render-overview.js
Ledger and plans
- Record entry
src/js/14-render-add.js - Records
src/js/15-render-records.js - Categories
src/js/16-render-categories.js - Split bills
src/js/26-split-bills.js - Purchase plans
src/js/27-purchase-plans.js
Analysis and reports
- Stats engine
src/js/04-stats-engine.js - Statistics
src/js/17-stats-charts.js - What-if engine
src/js/05-simulation-engine.js - What-if page
src/js/20-what-if.js - Monthly report
src/js/19-render-report.js
Persistence and exchange
- Data store
src/js/02-datastore.js - Browser localStorage
- Settings and import
src/js/18-render-settings.js - Excel export
src/js/03-excel-export.js - LAN sync
src/js/23-lan-sync.js
Other components
- User
- Mobile companion
money-wise-mobile.html
Connections 27
- User → Page router: selects page
- App startup → Page router: starts navigation
- Page router → Overview: renders page
- Page router → Record entry: renders page
- Page router → Records: renders page
- Page router → Categories: renders page
- Page router → Statistics: renders page
- Page router → Monthly report: renders page
- Page router → What-if page: renders page
- Page router → Settings and import: renders page
- Record entry → Data store: saves records
- Records → Data store: reads and edits
- Categories → Data store: manages categories
- Split bills → Data store: manages bills
- Purchase plans → Data store: manages plans
- Overview → Stats engine: gets summaries
- Statistics → Stats engine: gets chart data
- What-if page → What-if engine: runs projections
- What-if engine → Stats engine: uses spending data
- Monthly report → Stats engine: gets report data
- Data store → Browser localStorage: reads and writes
- Settings and import → Data store: imports and exports
- Settings and import → Excel export: requests workbook
- Excel export → Data store: reads ledger data
- LAN sync → Data store: exchanges data
- User → Mobile companion: records on phone
- Mobile companion → Browser localStorage: stores locally