How shubham144/expensetracker works
ExpenseTracker is a family-oriented personal finance application. Users authenticate into a family workspace, manage accounts and access, record expenses and income, and work with budgets, loans, settlements, and analytics. The frontend routes users to these capabilities and its API client modules call the backend endpoints; backend services apply business rules and persist financial records through the shared EF Core context. Edges are limited to calls or registrations visible in excerpts or the source index; unsampled feature wiring is represented cautiously.
Main entry points: ExpenseTrackerDbContext.cs Finance database context · Program.cs API registration · AuthService.cs Authentication · AccountAuthorizationService.cs Account authorization
Components 22
Web application
- App routes
frontend/src/App.tsx - Auth context
frontend/src/components/AuthContext.tsx - Finance pages
frontend/src/pages - API client
frontend/src/api/client.ts
HTTP API
- Auth endpoints
backend/ExpenseTracker.Api/Endpoints/AuthEndpoints.cs - Finance endpoints
backend/ExpenseTracker.Api/Endpoints - API registration
backend/ExpenseTracker.Api/Program.cs
Finance services
- Accounts and access
backend/ExpenseTracker.Infrastructure/Accounts - Expense tracking
backend/ExpenseTracker.Infrastructure/Expenses/ExpenseService.cs - Income tracking
backend/ExpenseTracker.Infrastructure/Income/IncomeService.cs - Budgets
backend/ExpenseTracker.Infrastructure/Budgets/BudgetService.cs - Categories
backend/ExpenseTracker.Infrastructure/Categories/CategoryService.cs - Families
backend/ExpenseTracker.Infrastructure/Families/FamilyService.cs - Loans and payments
backend/ExpenseTracker.Infrastructure/Loans/LoanService.cs - Settlements
backend/ExpenseTracker.Infrastructure/Settlements/SettlementService.cs - Analytics
backend/ExpenseTracker.Infrastructure/Analytics/AnalyticsService.cs
Identity and access
- Authentication
backend/ExpenseTracker.Infrastructure/Authentication/AuthService.cs - JWT generation
backend/ExpenseTracker.Infrastructure/Authentication/JwtTokenGenerator.cs - Identity user
backend/ExpenseTracker.Infrastructure/Authentication/ApplicationIdentityUser.cs - Account authorization
backend/ExpenseTracker.Infrastructure/Accounts/AccountAuthorizationService.cs
Persistence
- Finance database context
backend/ExpenseTracker.Infrastructure/Data/ExpenseTrackerDbContext.cs
Other components
- Family user
Connections 32
- Family user → App routes: uses
frontend/src/App.tsx - App routes → Auth context: provides auth
frontend/src/App.tsx - App routes → Finance pages: routes to
frontend/src/App.tsx - Finance pages → API client: requests data
- API client → Finance endpoints: HTTP requests
- API registration → Finance endpoints: maps routes
- API registration → Authentication: registers service
backend/ExpenseTracker.Api/Program.cs - API registration → JWT generation: registers service
backend/ExpenseTracker.Api/Program.cs - API registration → Families: registers service
backend/ExpenseTracker.Api/Program.cs - API registration → Categories: registers service
backend/ExpenseTracker.Api/Program.cs - API registration → Expense tracking: registers service
backend/ExpenseTracker.Api/Program.cs - API registration → Accounts and access: registers service
backend/ExpenseTracker.Api/Program.cs - Auth endpoints → Authentication: calls
backend/ExpenseTracker.Api/Endpoints/AuthEndpoints.cs - Authentication → JWT generation: generates token
backend/ExpenseTracker.Infrastructure/Authentication/AuthService.cs - Authentication → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Authentication/AuthService.cs - Authentication → Identity user: uses identity
backend/ExpenseTracker.Infrastructure/Authentication/AuthService.cs - Expense tracking → Account authorization: checks access
backend/ExpenseTracker.Infrastructure/Expenses/ExpenseService.cs - Income tracking → Account authorization: checks access
backend/ExpenseTracker.Infrastructure/Income/IncomeService.cs - Loans and payments → Account authorization: checks access
backend/ExpenseTracker.Infrastructure/Loans/LoanService.cs - Settlements → Account authorization: checks access
backend/ExpenseTracker.Infrastructure/Settlements/SettlementService.cs - Account authorization → Finance database context: queries memberships
backend/ExpenseTracker.Infrastructure/Accounts/AccountAuthorizationService.cs - Expense tracking → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Expenses/ExpenseService.cs - Income tracking → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Income/IncomeService.cs - Loans and payments → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Loans/LoanService.cs - Settlements → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Settlements/SettlementService.cs - Budgets → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Budgets/BudgetService.cs - Accounts and access → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Accounts/AccountAuthorizationService.cs - Categories → Finance database context: reads and writes
backend/ExpenseTracker.Infrastructure/Categories/CategoryService.cs - Families → Finance database context: reads and writes
- Analytics → Finance database context: queries data
- Loans and payments → Finance database context: updates balances
backend/ExpenseTracker.Infrastructure/Loans/LoanService.cs - Settlements → Finance database context: updates balances
backend/ExpenseTracker.Infrastructure/Settlements/SettlementService.cs