# adityakdevin/budgetgen architecture

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

- Interactive diagram: https://gitdiagram.com/adityakdevin/budgetgen
- Repository: https://github.com/adityakdevin/budgetgen

## Overview

BudgetGen is a personal-finance manager whose documented user workflow is to manage financial records through a Filament admin panel and persist them as user-scoped Laravel models. The graph separates transaction tracking, credit and debt, financial planning, and the shared interface/data layer. README-listed capabilities without a visible dedicated resource are represented by their model paths; their specific UI wiring is not inferred. The sampled excerpts do not include model or panel implementation, so relationships beyond the documented resource/model roles are omitted.

Main entry points: [`config/database.php`](https://github.com/adityakdevin/budgetgen/blob/main/config/database.php) (Relational database), [`app/Providers/Filament/AdminPanelProvider.php`](https://github.com/adityakdevin/budgetgen/blob/main/app/Providers/Filament/AdminPanelProvider.php) (Filament panel), [`app/Admin/Resources/Transactions/TransactionResource.php`](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Transactions/TransactionResource.php) (Transaction management), [`app/Admin/Resources/Categories/CategoryResource.php`](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Categories/CategoryResource.php) (Category management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Admin interface"]
  node_panel["Filament panel"]
end

subgraph group_transactions["Transactions and budgets"]
  node_transaction_ui["Transaction management"]
  node_category_ui["Category management"]
  node_budget_ui["Monthly budgets"]
  node_transaction["Transactions<br/>[Transaction.php]"]
  node_category["Categories<br/>[Category.php]"]
  node_budget["Budget records<br/>[MonthlyBudget.php]"]
  node_recurring["Recurring payments"]
  node_schedule["Payment schedules"]
end

subgraph group_credit["Credit and protection"]
  node_card_ui["Card management"]
  node_dues_ui["Card due manager"]
  node_card["Credit cards<br/>[CreditCard.php]"]
  node_dues["Card dues<br/>[CreditCardDues.php]"]
  node_loan_ui["Loan management<br/>[LoanResource.php]"]
  node_loan["Loans<br/>[Loan.php]"]
  node_insurance_ui["Insurance management"]
  node_insurance["Insurance policies<br/>[Insurance.php]"]
end

subgraph group_planning["Financial planning"]
  node_goal_ui["Goal management<br/>[GoalResource.php]"]
  node_contribution_ui["Goal contributions"]
  node_goal["Savings goals<br/>[Goal.php]"]
  node_contribution["Contributions"]
  node_investment_ui["Investment management"]
  node_investment["Investments<br/>[Investment.php]"]
  node_tax_ui["Tax plan management"]
  node_tax["Tax-saving plans<br/>[TaxSavingPlan.php]"]
end

subgraph group_data["Shared data layer"]
  node_user["User account<br/>[User.php]"]
  node_store[("Relational database<br/>[database.php]")]
end

node_person(("Finance user"))

node_person -->|"uses"| node_panel
node_panel -->|"offers"| node_transaction_ui
node_panel -->|"offers"| node_category_ui
node_panel -->|"offers"| node_budget_ui
node_panel -->|"offers"| node_card_ui
node_panel -->|"offers"| node_loan_ui
node_panel -->|"offers"| node_insurance_ui
node_panel -->|"offers"| node_goal_ui
node_panel -->|"offers"| node_investment_ui
node_panel -->|"offers"| node_tax_ui
node_transaction_ui -->|"manages"| node_transaction
node_category_ui -->|"manages"| node_category
node_budget_ui -->|"manages"| node_budget
node_card_ui -->|"manages"| node_card
node_dues_ui -->|"manages"| node_dues
node_loan_ui -->|"manages"| node_loan
node_insurance_ui -->|"manages"| node_insurance
node_goal_ui -->|"manages"| node_goal
node_contribution_ui -->|"manages"| node_contribution
node_investment_ui -->|"manages"| node_investment
node_tax_ui -->|"manages"| node_tax
node_transaction -->|"persists"| node_store
node_category -->|"persists"| node_store
node_budget -->|"persists"| node_store
node_recurring -->|"persists"| node_store
node_schedule -->|"persists"| node_store
node_card -->|"persists"| node_store
node_dues -->|"persists"| node_store
node_loan -->|"persists"| node_store
node_insurance -->|"persists"| node_store
node_goal -->|"persists"| node_store
node_contribution -->|"persists"| node_store
node_investment -->|"persists"| node_store
node_tax -->|"persists"| node_store
node_user -->|"persists"| node_store

click node_panel "https://github.com/adityakdevin/budgetgen/blob/main/app/Providers/Filament/AdminPanelProvider.php"
click node_transaction_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Transactions/TransactionResource.php"
click node_category_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Categories/CategoryResource.php"
click node_budget_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/MonthlyBudgets/MonthlyBudgetResource.php"
click node_transaction "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Transaction.php"
click node_category "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Category.php"
click node_budget "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/MonthlyBudget.php"
click node_recurring "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/RecurringPayment.php"
click node_schedule "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/RecurringPaymentSchedule.php"
click node_card_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/CreditCards/CreditCardResource.php"
click node_dues_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/CreditCards/RelationManagers/DuesRelationManager.php"
click node_card "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/CreditCard.php"
click node_dues "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/CreditCardDues.php"
click node_loan_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Loans/LoanResource.php"
click node_loan "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Loan.php"
click node_insurance_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Insurances/InsuranceResource.php"
click node_insurance "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Insurance.php"
click node_goal_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Goals/GoalResource.php"
click node_contribution_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Goals/RelationManagers/ContributionsRelationManager.php"
click node_goal "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Goal.php"
click node_contribution "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/GoalContribution.php"
click node_investment_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Investments/InvestmentResource.php"
click node_investment "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Investment.php"
click node_tax_ui "https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/TaxSavingPlans/TaxSavingPlanResource.php"
click node_tax "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/TaxSavingPlan.php"
click node_user "https://github.com/adityakdevin/budgetgen/blob/main/app/Models/User.php"
click node_store "https://github.com/adityakdevin/budgetgen/blob/main/config/database.php"

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_panel,node_person toneBlue
class node_transaction_ui,node_category_ui,node_budget_ui,node_transaction,node_category,node_budget,node_recurring,node_schedule toneAmber
class node_card_ui,node_dues_ui,node_card,node_dues,node_loan_ui,node_loan,node_insurance_ui,node_insurance toneMint
class node_goal_ui,node_contribution_ui,node_goal,node_contribution,node_investment_ui,node_investment,node_tax_ui,node_tax toneRose
class node_user,node_store toneIndigo
```

## Components

### Admin interface

- [Filament panel](https://github.com/adityakdevin/budgetgen/blob/main/app/Providers/Filament/AdminPanelProvider.php): `app/Providers/Filament/AdminPanelProvider.php`

### Transactions and budgets

- [Transaction management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Transactions/TransactionResource.php): `app/Admin/Resources/Transactions/TransactionResource.php`
- [Category management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Categories/CategoryResource.php): `app/Admin/Resources/Categories/CategoryResource.php`
- [Monthly budgets](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/MonthlyBudgets/MonthlyBudgetResource.php): `app/Admin/Resources/MonthlyBudgets/MonthlyBudgetResource.php`
- [Transactions](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Transaction.php): `app/Models/Transaction.php`
- [Categories](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Category.php): `app/Models/Category.php`
- [Budget records](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/MonthlyBudget.php): `app/Models/MonthlyBudget.php`
- [Recurring payments](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/RecurringPayment.php): `app/Models/RecurringPayment.php`
- [Payment schedules](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/RecurringPaymentSchedule.php): `app/Models/RecurringPaymentSchedule.php`

### Credit and protection

- [Card management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/CreditCards/CreditCardResource.php): `app/Admin/Resources/CreditCards/CreditCardResource.php`
- [Card due manager](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/CreditCards/RelationManagers/DuesRelationManager.php): `app/Admin/Resources/CreditCards/RelationManagers/DuesRelationManager.php`
- [Credit cards](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/CreditCard.php): `app/Models/CreditCard.php`
- [Card dues](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/CreditCardDues.php): `app/Models/CreditCardDues.php`
- [Loan management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Loans/LoanResource.php): `app/Admin/Resources/Loans/LoanResource.php`
- [Loans](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Loan.php): `app/Models/Loan.php`
- [Insurance management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Insurances/InsuranceResource.php): `app/Admin/Resources/Insurances/InsuranceResource.php`
- [Insurance policies](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Insurance.php): `app/Models/Insurance.php`

### Financial planning

- [Goal management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Goals/GoalResource.php): `app/Admin/Resources/Goals/GoalResource.php`
- [Goal contributions](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Goals/RelationManagers/ContributionsRelationManager.php): `app/Admin/Resources/Goals/RelationManagers/ContributionsRelationManager.php`
- [Savings goals](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Goal.php): `app/Models/Goal.php`
- [Contributions](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/GoalContribution.php): `app/Models/GoalContribution.php`
- [Investment management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/Investments/InvestmentResource.php): `app/Admin/Resources/Investments/InvestmentResource.php`
- [Investments](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/Investment.php): `app/Models/Investment.php`
- [Tax plan management](https://github.com/adityakdevin/budgetgen/blob/main/app/Admin/Resources/TaxSavingPlans/TaxSavingPlanResource.php): `app/Admin/Resources/TaxSavingPlans/TaxSavingPlanResource.php`
- [Tax-saving plans](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/TaxSavingPlan.php): `app/Models/TaxSavingPlan.php`

### Shared data layer

- [User account](https://github.com/adityakdevin/budgetgen/blob/main/app/Models/User.php): `app/Models/User.php`
- [Relational database](https://github.com/adityakdevin/budgetgen/blob/main/config/database.php): `config/database.php`

### Other components

- **Finance user**

## Connections

- Finance user → Filament panel: uses
- Filament panel → Transaction management: offers
- Filament panel → Category management: offers
- Filament panel → Monthly budgets: offers
- Filament panel → Card management: offers
- Filament panel → Loan management: offers
- Filament panel → Insurance management: offers
- Filament panel → Goal management: offers
- Filament panel → Investment management: offers
- Filament panel → Tax plan management: offers
- Transaction management → Transactions: manages
- Category management → Categories: manages
- Monthly budgets → Budget records: manages
- Card management → Credit cards: manages
- Card due manager → Card dues: manages
- Loan management → Loans: manages
- Insurance management → Insurance policies: manages
- Goal management → Savings goals: manages
- Goal contributions → Contributions: manages
- Investment management → Investments: manages
- Tax plan management → Tax-saving plans: manages
- Transactions → Relational database: persists
- Categories → Relational database: persists
- Budget records → Relational database: persists
- Recurring payments → Relational database: persists
- Payment schedules → Relational database: persists
- Credit cards → Relational database: persists
- Card dues → Relational database: persists
- Loans → Relational database: persists
- Insurance policies → Relational database: persists
- Savings goals → Relational database: persists
- Contributions → Relational database: persists
- Investments → Relational database: persists
- Tax-saving plans → Relational database: persists
- User account → Relational database: persists
