How seajay100/eve-expense-and-budget-tracker works
Eve is a personal expense and budget tracker. A user registers or logs in, then manages accounts, categories, and income, expense, transfer, and recurring transactions; the app also supports budget and monthly-summary views. The Express server serves the frontend and mounts API routes, which enforce user ownership and use MongoDB-backed models. The README documents filtering, balance changes, and summaries, but frontend implementation details were not sampled, so client-to-API call edges are omitted rather than inferred.
Main entry points: server.js HTTP server · transaction.js Transaction routes · account.js Account routes · auth.js JWT protection
Components 19
Frontend experience
- Web interface
frontend/public - Login and session
frontend/public/pages/login.html - Transaction views
- Account flows
- Category views
- Monthly summaries
API and identity
- HTTP server
backend/server.js - Registration and login
backend/routes/auth.js - JWT protection
backend/middleware/auth.js
Finance operations
- Transaction routes
backend/routes/transaction.js - Account routes
backend/routes/account.js - Category routes
backend/routes/categories.js - Amount validation
backend/utils/validation.js
Persistence
- User records
backend/models/User.js - Account records
backend/models/Accounts.js - Category records
backend/models/Categories.js - Transaction records
backend/models/Transaction.js
Other components
- User
- MongoDB
Connections 22
- User → Web interface: uses
README.md - HTTP server → Web interface: serves
backend/server.js - HTTP server → Registration and login: mounts
backend/server.js - HTTP server → Transaction routes: mounts
backend/server.js - HTTP server → Account routes: mounts
backend/server.js - HTTP server → Category routes: mounts
backend/server.js - HTTP server → MongoDB: connects
backend/server.js - Registration and login → User records: reads and writes
backend/routes/auth.js - Registration and login → JWT protection: protects profile
backend/routes/auth.js - JWT protection → User records: loads user
backend/middleware/auth.js - Transaction routes → JWT protection: guards routes
backend/routes/transaction.js - Account routes → JWT protection: guards routes
backend/routes/account.js - Category routes → JWT protection: guards routes
backend/routes/categories.js - Transaction routes → Transaction records: reads and writes
backend/routes/transaction.js - Transaction routes → Account records: checks accounts
backend/routes/transaction.js - Transaction routes → Category records: checks categories
backend/routes/transaction.js - Transaction routes → Amount validation: validates amounts
backend/routes/transaction.js - Account routes → Account records: reads and writes
backend/routes/account.js - Account routes → Transaction records: reads and creates
backend/routes/account.js - Account routes → Amount validation: validates amounts
backend/routes/account.js - Category routes → Category records: reads and writes
backend/routes/categories.js - Category routes → Transaction records: checks usage
backend/routes/categories.js