How raushan0307/restaurant-finance-tracker works
FinanceTracker is a restaurant finance and operations platform: owners and staff sign in, manage restaurant records and billing, then review analytics and reports. The Angular app calls a Spring Boot REST API; the documented backend layers requests through controllers, business services and JPA repositories to MySQL. The graph preserves the main billing stages and the README’s other operational capabilities. Some feature implementations were not sampled, so their internal wiring is shown only where the documented API architecture supports it.
Main entry points: inventory.component.ts Operations screens · app.module.ts Angular application · generate-bill.component.ts Bill generation and viewing · AuthController.java Auth and user API
Components 25
Angular frontend
- Angular application
finance-tracker frontend/src/app/app.module.ts - Login and registration
finance-tracker frontend/src/app/login/login.component.ts - Auth client
finance-tracker frontend/src/app/services/auth.service.ts - JWT interceptor
finance-tracker frontend/src/app/interceptors/auth.interceptor.ts - Bill generation and viewing
finance-tracker frontend/src/app/generate-bill/generate-bill.component.ts - Operations screens
finance-tracker frontend/src/app/inventory/inventory.component.ts - Dashboard and reports
finance-tracker frontend/src/app/dashboard/dashboard.component.ts - Reports client
finance-tracker frontend/src/app/services/reports.service.ts
Identity and access
- Auth and user API
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java - Authentication logic
financeTracker backend/src/main/java/com/intellect/financeTracker/service/implementation/AuthService.java - JWT security
financeTracker backend/src/main/java/com/intellect/financeTracker/config/JwtAuthFilter.java
Restaurant operations
- Bill APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/BillController.java - Bill item APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/BillItemController.java - Voucher APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/VoucherController.java - Menu APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/MenuItemController.java - Inventory APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/InventoryController.java - Vendor APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/VendorController.java - Expense APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/ExpenseController.java - Employee and salary APIs
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/EmployeeController.java - Restaurant profile API
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/RestaurantController.java
Analytics and reporting
- Analytics API
financeTracker backend/src/main/java/com/intellect/financeTracker/controller/AnalyticsController.java
Spring Boot backend
- Business services
financeTracker backend/src/main/java/com/intellect/financeTracker/service/implementation
Persistence
- JPA repositories
financeTracker backend/src/main/java/com/intellect/financeTracker/repository - MySQL database
Other components
- Owner or staff
Connections 26
- Owner or staff → Angular application: uses
- Angular application → Login and registration: routes to
- Login and registration → Auth client: signs in
- Auth client → Auth and user API: HTTP auth requests
- Auth and user API → Authentication logic: registers owner
- Auth and user API → JWT security: authenticates
- Authentication logic → JPA repositories: saves user
- JWT interceptor → Auth and user API: adds bearer token
- Angular application → Bill generation and viewing: routes to
- Bill generation and viewing → Bill APIs: creates and fetches bills
- Bill APIs → Business services: handles bill requests
- Business services → JPA repositories: reads and writes records
- JPA repositories → MySQL database: persists data
- Bill generation and viewing → Bill item APIs: manages bill items
- Bill generation and viewing → Voucher APIs: applies vouchers
- Angular application → Operations screens: routes to
- Operations screens → Menu APIs: manages menu
- Operations screens → Inventory APIs: manages stock
- Operations screens → Vendor APIs: manages vendors
- Operations screens → Expense APIs: records expenses
- Operations screens → Employee and salary APIs: manages staff and pay
- Operations screens → Restaurant profile API: updates profile
- Angular application → Dashboard and reports: routes to
- Dashboard and reports → Analytics API: requests analytics
- Reports client → Analytics API: requests report data
- Analytics API → Business services: calculates analytics