How jilbertvasquez/budget-tracker works
Budget Tracker is a full-stack personal-finance application: users sign in, enter and review financial records in an Angular UI, which communicates with an ASP.NET Core API backed by EF Core. The active API supports expenses, fixed expenses, savings, commissions, and user identity; frontend route guards and backend authorization protect role-specific areas. Budgets are documented and have backend service code, but their API mapping is commented out; period management is likewise present but currently unmapped. The tree and sampled excerpts support the main boundaries, but not every endpoint-to-service call.
Main entry points: Program.cs API host · DataContext.cs EF data context · app.routes.ts App routes · UsersEndpoints.cs User endpoints
Components 21
Angular frontend
- App routes
budget-tracker-frontend/src/app/app.routes.ts - Auth UI
budget-tracker-frontend/src/app/_services/app-auth.service.ts - Expense UI
budget-tracker-frontend/src/app/expenses - Savings UI
budget-tracker-frontend/src/app/savings - Commission UI
budget-tracker-frontend/src/app/commissions
ASP.NET API
- API host
budget-tracker-client/Program.cs
Finance domains
- Expense endpoints
budget-tracker-client/Expenses/ExpenseEndpoints.cs - Expense services
budget-tracker-client/Expenses/ExpenseServices.cs - Fixed expense endpoints
budget-tracker-client/FixedExpenses/FixedExpenseEndpoints.cs - Fixed expense services
budget-tracker-client/FixedExpenses/FixedExpenseServices.cs - Savings endpoints
budget-tracker-client/Savings/SavingEndpoints.cs - Savings services
budget-tracker-client/Savings/SavingServices.cs - Commission endpoints
budget-tracker-client/Commissions/CommissionEndpoints.cs - Commission services
budget-tracker-client/Commissions/CommissionServices.cs - Budget services
budget-tracker-client/Budget/BudgetServices.cs - Period services
budget-tracker-client/Period/PeriodServices.cs
Identity and access
- User endpoints
budget-tracker-client/Users/UsersEndpoints.cs - User services
budget-tracker-client/Users/UserServices.cs - Authorization policies
budget-tracker-client/Configurations/AuthorizationPolicy/HasPermissionHandler.cs
Data persistence
- EF data context
budget-tracker-client/Shared/DataContext.cs
Other components
- User
Connections 27
- User → App routes: opens
- App routes → Auth UI: initializes auth
- App routes → Expense UI: routes
- App routes → Savings UI: routes
- App routes → Commission UI: routes
- Auth UI → User endpoints: checks identity
- Expense UI → API host: API requests
- Savings UI → API host: API requests
- Commission UI → API host: API requests
- API host → User endpoints: maps endpoints
- API host → Expense endpoints: maps endpoints
- API host → Fixed expense endpoints: maps endpoints
- API host → Savings endpoints: maps endpoints
- API host → Commission endpoints: maps endpoints
- API host → Authorization policies: enforces policies
- User endpoints → User services: dispatches
- Expense endpoints → Expense services: dispatches
- Fixed expense endpoints → Fixed expense services: dispatches
- Savings endpoints → Savings services: dispatches
- Commission endpoints → Commission services: dispatches
- User services → EF data context: reads/writes
- Expense services → EF data context: reads/writes
- Fixed expense services → EF data context: reads/writes
- Savings services → EF data context: reads/writes
- Commission services → EF data context: reads/writes
- Budget services → EF data context: reads/writes
- Period services → EF data context: reads/writes