How bryant-tomilloso/expense-tracker works
Expense Tracker is a personal-finance web app for recording and reviewing income and expenses. Users enter or edit transactions in the browser; the client sends requests to the Express server, which validates and stores them in SQLite. The browser also requests filtered lists and totals, and offers date-range PDF or Excel downloads. Separate report views request monthly and category aggregates for charts. The sampled code shows these client/server and server/database interactions; the report-generation routes are in the same server file as the API handlers.
Main entry points: app.js Transaction UI · server.js Summary API · reports.js Report charts · index.html App page
Components 10
Browser app
- App page
public/index.html - Transaction UI
public/app.js - Report charts
public/reports.js
Application API
- Transaction API
server.js - Summary API
server.js - Chart data API
server.js
Transaction storage
- SQLite database
Reports and exports
- Excel export
server.js - PDF export
server.js
Other components
- User
Connections 13
- User → App page: uses
README.md - App page → Transaction UI: hosts
- Transaction UI → Transaction API: requests
public/app.js - Transaction UI → Summary API: requests
public/app.js - Report charts → Chart data API: requests
public/reports.js - Report charts → Summary API: requests
public/reports.js - Transaction UI → Excel export: downloads
public/app.js - Transaction UI → PDF export: downloads
public/app.js - Transaction API → SQLite database: reads and writes
server.js - Summary API → SQLite database: aggregates
server.js - Chart data API → SQLite database: aggregates
server.js - Excel export → SQLite database: reads range
server.js - PDF export → SQLite database: reads range
server.js