# raushan0307/restaurant-finance-tracker architecture

> Architecture diagram of the GitHub repository raushan0307/restaurant-finance-tracker, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/raushan0307/restaurant-finance-tracker
- Repository: https://github.com/raushan0307/restaurant-finance-tracker

## Overview

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: [`finance-tracker frontend/src/app/inventory/inventory.component.ts`](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/inventory/inventory.component.ts) (Operations screens), [`finance-tracker frontend/src/app/app.module.ts`](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/app.module.ts) (Angular application), [`finance-tracker frontend/src/app/generate-bill/generate-bill.component.ts`](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/generate-bill/generate-bill.component.ts) (Bill generation and viewing), [`financeTracker backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java`](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java) (Auth and user API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Angular frontend"]
  node_app["Angular application<br/>[app.module.ts]"]
  node_authui["Login and registration<br/>[login.component.ts]"]
  node_authclient["Auth client<br/>[auth.service.ts]"]
  node_interceptor["JWT interceptor"]
  node_billingui["Bill generation and viewing"]
  node_opsui["Operations screens"]
  node_insightsui["Dashboard and reports"]
  node_reportsui["Reports client<br/>[reports.service.ts]"]
end

subgraph group_identity["Identity and access"]
  node_authapi["Auth and user API"]
  node_authlogic["Authentication logic<br/>[AuthService.java]"]
  node_security["JWT security<br/>[JwtAuthFilter.java]"]
end

subgraph group_operations["Restaurant operations"]
  node_billapi["Bill APIs"]
  node_itemapi["Bill item APIs"]
  node_voucherapi["Voucher APIs"]
  node_menuapi["Menu APIs"]
  node_inventoryapi["Inventory APIs"]
  node_vendorapi["Vendor APIs"]
  node_expenseapi["Expense APIs"]
  node_staffapi["Employee and salary APIs"]
  node_restaurantapi["Restaurant profile API"]
end

subgraph group_insights["Analytics and reporting"]
  node_analyticsapi["Analytics API"]
end

subgraph group_backend["Spring Boot backend"]
  node_businesslogic["Business services"]
end

subgraph group_data["Persistence"]
  node_repositories["JPA repositories"]
  node_mysql[("MySQL database")]
end

node_owner(("Owner or staff"))

node_owner -->|"uses"| node_app
node_app -->|"routes to"| node_authui
node_authui -->|"signs in"| node_authclient
node_authclient -->|"HTTP auth requests"| node_authapi
node_authapi -->|"registers owner"| node_authlogic
node_authapi -->|"authenticates"| node_security
node_authlogic -->|"saves user"| node_repositories
node_interceptor -->|"adds bearer token"| node_authapi
node_app -->|"routes to"| node_billingui
node_billingui -->|"creates and fetches bills"| node_billapi
node_billapi -->|"handles bill requests"| node_businesslogic
node_businesslogic -->|"reads and writes records"| node_repositories
node_repositories -->|"persists data"| node_mysql
node_billingui -->|"manages bill items"| node_itemapi
node_billingui -->|"applies vouchers"| node_voucherapi
node_app -->|"routes to"| node_opsui
node_opsui -->|"manages menu"| node_menuapi
node_opsui -->|"manages stock"| node_inventoryapi
node_opsui -->|"manages vendors"| node_vendorapi
node_opsui -->|"records expenses"| node_expenseapi
node_opsui -->|"manages staff and pay"| node_staffapi
node_opsui -->|"updates profile"| node_restaurantapi
node_app -->|"routes to"| node_insightsui
node_insightsui -->|"requests analytics"| node_analyticsapi
node_reportsui -.->|"requests report data"| node_analyticsapi
node_analyticsapi -->|"calculates analytics"| node_businesslogic

click node_app "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/app.module.ts"
click node_authui "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/login/login.component.ts"
click node_authclient "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/services/auth.service.ts"
click node_interceptor "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/interceptors/auth.interceptor.ts"
click node_billingui "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/generate-bill/generate-bill.component.ts"
click node_opsui "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/inventory/inventory.component.ts"
click node_insightsui "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/dashboard/dashboard.component.ts"
click node_authapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java"
click node_authlogic "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/service/implementation/AuthService.java"
click node_security "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/config/JwtAuthFilter.java"
click node_billapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/BillController.java"
click node_itemapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/BillItemController.java"
click node_voucherapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/VoucherController.java"
click node_menuapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/MenuItemController.java"
click node_inventoryapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/InventoryController.java"
click node_vendorapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/VendorController.java"
click node_expenseapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/ExpenseController.java"
click node_staffapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/EmployeeController.java"
click node_restaurantapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/RestaurantController.java"
click node_analyticsapi "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/AnalyticsController.java"
click node_reportsui "https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/services/reports.service.ts"
click node_businesslogic "https://github.com/raushan0307/restaurant-finance-tracker/tree/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/service/implementation"
click node_repositories "https://github.com/raushan0307/restaurant-finance-tracker/tree/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/repository"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_authui,node_authclient,node_interceptor,node_billingui,node_opsui,node_insightsui,node_reportsui toneBlue
class node_authapi,node_authlogic,node_security toneAmber
class node_billapi,node_itemapi,node_voucherapi,node_menuapi,node_inventoryapi,node_vendorapi,node_expenseapi,node_staffapi,node_restaurantapi toneMint
class node_analyticsapi toneRose
class node_businesslogic,node_owner toneIndigo
class node_repositories,node_mysql toneTeal
```

## Components

### Angular frontend

- [Angular application](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/app.module.ts): `finance-tracker frontend/src/app/app.module.ts`
- [Login and registration](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/login/login.component.ts): `finance-tracker frontend/src/app/login/login.component.ts`
- [Auth client](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/services/auth.service.ts): `finance-tracker frontend/src/app/services/auth.service.ts`
- [JWT interceptor](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/interceptors/auth.interceptor.ts): `finance-tracker frontend/src/app/interceptors/auth.interceptor.ts`
- [Bill generation and viewing](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/generate-bill/generate-bill.component.ts): `finance-tracker frontend/src/app/generate-bill/generate-bill.component.ts`
- [Operations screens](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/inventory/inventory.component.ts): `finance-tracker frontend/src/app/inventory/inventory.component.ts`
- [Dashboard and reports](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/dashboard/dashboard.component.ts): `finance-tracker frontend/src/app/dashboard/dashboard.component.ts`
- [Reports client](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/finance-tracker%20frontend/src/app/services/reports.service.ts): `finance-tracker frontend/src/app/services/reports.service.ts`

### Identity and access

- [Auth and user API](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/AuthController.java`
- [Authentication logic](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/service/implementation/AuthService.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/service/implementation/AuthService.java`
- [JWT security](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/config/JwtAuthFilter.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/config/JwtAuthFilter.java`

### Restaurant operations

- [Bill APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/BillController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/BillController.java`
- [Bill item APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/BillItemController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/BillItemController.java`
- [Voucher APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/VoucherController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/VoucherController.java`
- [Menu APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/MenuItemController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/MenuItemController.java`
- [Inventory APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/InventoryController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/InventoryController.java`
- [Vendor APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/VendorController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/VendorController.java`
- [Expense APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/ExpenseController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/ExpenseController.java`
- [Employee and salary APIs](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/EmployeeController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/EmployeeController.java`
- [Restaurant profile API](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/RestaurantController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/RestaurantController.java`

### Analytics and reporting

- [Analytics API](https://github.com/raushan0307/restaurant-finance-tracker/blob/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/controller/AnalyticsController.java): `financeTracker backend/src/main/java/com/intellect/financeTracker/controller/AnalyticsController.java`

### Spring Boot backend

- [Business services](https://github.com/raushan0307/restaurant-finance-tracker/tree/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/service/implementation): `financeTracker backend/src/main/java/com/intellect/financeTracker/service/implementation`

### Persistence

- [JPA repositories](https://github.com/raushan0307/restaurant-finance-tracker/tree/main/financeTracker%20backend/src/main/java/com/intellect/financeTracker/repository): `financeTracker backend/src/main/java/com/intellect/financeTracker/repository`
- **MySQL database**

### Other components

- **Owner or staff**

## Connections

- 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
