How aditi-rajoriya/fintrack-pro works
FinTrack Pro is a personal-finance tracker. Users sign in, record and categorize income or expenses, then review budgets, goals, and analytics; profile settings and notifications support that workflow. The React app calls an Express API whose domain controllers manage MongoDB-backed records. The README also documents scheduled email reports and theme adaptation. Source excerpts are partial, so some client-to-service and route-to-controller links reflect the repository’s module structure and documented capabilities rather than inspected call sites.
Main entry points: index.js API routes · models Domain models · App.js React app · transaction.controller.js Transactions
Components 21
Finance interface
- React app
client/src/App.js - Authentication state
client/src/contexts/AuthContext.js - Finance pages
client/src/pages - Theme state
client/src/contexts/ThemeContext.js - API services
client/src/services - HTTP client
client/src/services/apiClient.js
API and domain
- Express API
server/server.js - API routes
server/routes/index.js - Authentication
server/controllers/auth.controller.js - Profile settings
server/controllers/user.controller.js - Transactions
server/controllers/transaction.controller.js - Categories
server/controllers/category.controller.js - Budgets
server/controllers/budget.controller.js - Savings goals
server/controllers/goal.controller.js - Analytics
server/controllers/analytics.controller.js
Persistence
- Domain models
server/models - MongoDB
Notifications and scheduling
- Report scheduler
server/services/scheduler.service.js - Email delivery
server/services/email.service.js - Email provider
Other components
- Finance user
Connections 29
- Finance user → React app: uses
- React app → Authentication state: checks session
- React app → Finance pages: renders routes
- React app → Theme state: applies theme
- Finance pages → API services: requests data
- Authentication state → API services: checks identity
- API services → HTTP client: sends requests
- HTTP client → Express API: calls API
- Express API → API routes: mounts routes
- API routes → Authentication: dispatches auth
- API routes → Profile settings: dispatches profile
- API routes → Transactions: dispatches transactions
- API routes → Categories: dispatches categories
- API routes → Budgets: dispatches budgets
- API routes → Savings goals: dispatches goals
- API routes → Analytics: dispatches analytics
- Authentication → Domain models: reads and writes
- Profile settings → Domain models: reads and writes
- Transactions → Domain models: reads and writes
- Categories → Domain models: reads and writes
- Budgets → Domain models: reads and writes
- Savings goals → Domain models: reads and writes
- Analytics → Domain models: queries records
- Domain models → MongoDB: persists records
- Transactions → Budgets: checks budgets
- Transactions → Email delivery: sends breach alerts
- Express API → Report scheduler: starts scheduled reports
- Report scheduler → Email delivery: requests reports
- Email delivery → Email provider: delivers messages