How humayun121/finance-tracker works
Finance Tracker is a web app for tracking expenses, categories, shifts, and dashboard summaries. The main user flow is to enter through the frontend, authenticate for protected pages, and use the app’s finance views; the frontend API client sends requests to a Django backend. The tree identifies the domain modules, but the README and sampled sources do not show the page-to-API or backend URL wiring, so those links are left out. The sampled client does show JWT refresh and browser token storage.
Main entry points: App.tsx Routes · client.ts API client · LoginPage.tsx Login · SignupPage.tsx Sign up
Components 24
Frontend app
Authentication
- Auth provider
frontend/src/auth/AuthContext.tsx - Route guard
frontend/src/auth/ProtectedRoute.tsx - Token storage
frontend/src/auth/tokenStorage.ts
API client
- API client
frontend/src/api/client.ts - Auth API
frontend/src/api/auth.ts - Expense API
frontend/src/api/expenses.ts - Category API
frontend/src/api/categories.ts - Shift API
frontend/src/api/shifts.ts
Django backend
- Account views
backend/accounts/views.py - Expense views
backend/expenses/views.py - Shift views
backend/shifts/views.py - Account models
backend/accounts/models.py - Expense models
backend/expenses/models.py - Shift models
backend/shifts/models.py - URL config
backend/config/urls.py
Other components
- User
- Finance API
Connections 10
- User → Routes: opens
- Routes → Login: routes
- Routes → Sign up: routes
- Routes → Dashboard: routes
- Routes → Expenses: routes
- Routes → Categories: routes
- Routes → Shifts: routes
- Routes → Route guard: guards
- API client → Token storage: reads and updates
- API client → Finance API: HTTP requests