How akashathani09/expense-track works
Expense-Track is a browser-based income and expense tracker backed by an Express API and MongoDB. Users add transactions through a form, review their transaction history, delete entries, and see calculated balance totals and an expense chart. The frontend context loads and updates transaction state through HTTP requests; the server routes those requests to controller operations backed by a transaction model. The README is minimal, so capabilities and relationships here are based on the sampled source and source index; the chart implementation and model details were not excerpted.
Main entry points: GlobalState.jsx Global State · App.jsx Dashboard App · TransactionList.jsx Transaction History · TransactionForm.jsx Transaction Form
Components 13
Expense Dashboard
- Dashboard App
server/client/src/App.jsx - Transaction Form
server/client/src/components/TransactionForm.jsx - Transaction History
server/client/src/components/TransactionList.jsx - Balance Summary
server/client/src/components/BalanceSummery.jsx - Expense Chart
server/client/src/components/ExpenseChart.jsx
Client State
- Global State
server/client/src/Context/GlobalState.jsx
Transaction API
- Transaction Routes
server/routes/transactionRoutes.js - Server Setup
server/server.js - Transaction Controller
server/controllers/transactionController.js
Persistence
- Transaction Model
server/models/transaction.js - Database Connector
server/config/db.js
Other components
- Tracker User
- MongoDB
Connections 18
- Tracker User → Transaction Form: enters data
server/client/src/components/TransactionForm.jsx - Tracker User → Transaction History: requests deletion
server/client/src/components/TransactionList.jsx - Dashboard App → Global State: provides state
server/client/src/App.jsx - Dashboard App → Transaction Form: renders
server/client/src/App.jsx - Dashboard App → Transaction History: renders
server/client/src/App.jsx - Dashboard App → Balance Summary: renders
server/client/src/App.jsx - Dashboard App → Expense Chart: renders
server/client/src/App.jsx - Transaction Form → Global State: adds transaction
server/client/src/components/TransactionForm.jsx - Transaction History → Global State: deletes transaction
server/client/src/components/TransactionList.jsx - Global State → Transaction History: supplies transactions
server/client/src/components/TransactionList.jsx - Global State → Balance Summary: supplies transactions
server/client/src/components/BalanceSummery.jsx - Global State → Expense Chart: supplies transactions
server/client/src/Context/GlobalState.jsx - Global State → Transaction Routes: sends HTTP requests
server/client/src/Context/GlobalState.jsx - Server Setup → Transaction Routes: mounts routes
server/server.js - Transaction Routes → Transaction Controller: dispatches requests
server/routes/transactionRoutes.js - Transaction Controller → Transaction Model: queries and updates
server/controllers/transactionController.js - Server Setup → Database Connector: connects database
server/server.js - Database Connector → MongoDB: opens connection
server/config/db.js