Budget Tracker is a full-stack practice project demonstrating budget, expense and period management. It includes an ASP.NET Core backend (APIs, EF Core migrations) and an Angular frontend that consumes those APIs.
Repository layout (important folders):
budget-tracker-client/— ASP.NET Core backend, database context, migrations and API endpoints.budget-tracker-frontend/— Angular UI (development and production builds).
- Create, list, edit and delete budgets
- Track expenses and fixed expenses
- Manage commissions and savings
- Period management (monthly/periodic reporting)
- Role helpers and simple authorization utilities
- EF Core migrations included in
budget-tracker-client/Migrations
Prerequisites:
- .NET 9 SDK
- Node.js 16+ (npm) or pnpm
Start the backend API (PowerShell):
cd .\budget-tracker-client
dotnet run --project .\budget-tracker-client.csprojStart the Angular frontend in a separate terminal (PowerShell):
cd .\budget-tracker-frontend
# Install dependencies
npm install
# Start development server
npm run start
# Or, if you prefer pnpm (pnpm lockfile present):
# pnpm install
# pnpm run startNotes:
- The backend will show the Kestrel URL/port in the console output from
dotnet run(e.g.http://localhost:5000). Ensure the frontend's environment config points to the correct API URL if needed.
- Open the Angular dev server URL (typically
http://localhost:4200) to use the UI. - The frontend interacts with the backend APIs to manage budgets, expenses, fixed expenses and periods.
- Backend build artifacts appear under
budget-tracker-client/bin/when built or published. - Angular production build output is created in
budget-tracker-frontend/dist/. If you want the API to serve the UI, copy the production files intobudget-tracker-client/wwwroot/browser(or configure static file serving to point to the dist folder).
- Developed by Jilbert Vasquez