How vishh-t/spendsmart works
Expenzo’s frontend supports a user workflow from login through protected finance views: users manage expenses and categories, review budgets and summaries, import statements, and explore spending insights. The statement-import UI starts a background parse, polls for results, then lets users save expenses and category mappings. The README describes backend processing and security, but backend source is not in the supplied tree; the API is therefore shown as an external service, without modeling its internals. Some page implementations were not sampled, so uncertain calls are omitted.
Main entry points: App.jsx App routes · api.js API client · expenseService.js Expense service · InsightsPage.jsx Insights page
Components 19
Access and Shell
- App routes
expense_manager_frontend/src/App.jsx - Login page
expense_manager_frontend/src/pages/LoginPage.jsx - Auth context
expense_manager_frontend/src/context/AuthContext.jsx - Auth service
expense_manager_frontend/src/services/authService.js - App layout
expense_manager_frontend/src/components/layout/Layout.jsx
Expense Management
- Dashboard
expense_manager_frontend/src/pages/DashBoard.jsx - Expenses page
expense_manager_frontend/src/pages/ExpensesPage.jsx - Categories page
expense_manager_frontend/src/pages/CategoriesPage.jsx - Expense editor
expense_manager_frontend/src/components/modals/AddExpenseModal.jsx - Expense service
expense_manager_frontend/src/services/expenseService.js - Category service
expense_manager_frontend/src/services/categoryService.js
Statement Import
- Import workflow
expense_manager_frontend/src/components/modals/ImportStatementModal.jsx - Import service
expense_manager_frontend/src/services/importService.js
Analytics and State
- Insights page
expense_manager_frontend/src/pages/InsightsPage.jsx - Insights service
expense_manager_frontend/src/services/insightsService.js - Shared data context
expense_manager_frontend/src/context/DataContext.jsx - API client
expense_manager_frontend/src/services/api.js
Other components
- Finance user
- Backend API
Connections 26
- Finance user → App routes: opens app
- App routes → Login page: routes login
- App routes → App layout: wraps protected views
- App routes → Dashboard: routes dashboard
- App routes → Expenses page: routes expenses
- App routes → Categories page: routes categories
- App routes → Insights page: routes insights
- Login page → Auth service: submits credentials
- Auth service → API client: sends auth requests
- API client → Backend API: calls API
- Login page → Auth context: sets session
- App layout → Expense editor: opens editor
- App layout → Import workflow: opens import
- Dashboard → Expense service: loads summaries
- Expenses page → Expense service: manages expenses
- Categories page → Category service: manages categories
- Expense editor → Expense service: saves expense
- Expense service → API client: sends requests
- Category service → API client: sends requests
- Import workflow → Import service: parses and saves
- Import workflow → Category service: loads categories
- Import service → API client: uploads and polls
- Insights page → Insights service: loads analytics
- Insights page → Expense service: renames keywords
- Insights page → Shared data context: reads refresh state
- Insights service → API client: sends requests