# fardhanfahrezy/managjeh-laravel-13 architecture

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

- Interactive diagram: https://gitdiagram.com/fardhanfahrezy/managjeh-laravel-13
- Repository: https://github.com/fardhanfahrezy/managjeh-laravel-13

## Overview

ManagJeh is a personal-finance web application for recording transactions and managing accounts, budgets, goals, and recurring rules, with dashboard and financial-health insights. The principal flow is an authenticated user submitting a transaction through the web routes; the controller delegates balance and transaction changes to the transaction service, which persists through the models. The dashboard also gathers forecasts and health analysis. Some subsystem links are based on the feature-specific file tree because their source was not sampled; those uncertain call relationships are omitted.

Main entry points: [`app/Models/Transaction.php`](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Models/Transaction.php) (Finance models), [`routes/web.php`](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/DashboardController.php`](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/DashboardController.php) (Dashboard), [`resources/views/layouts/app.blade.php`](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/resources/views/layouts/app.blade.php) (Finance screens)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and UI"]
  node_routes["Web routes<br/>[web.php]"]
  node_auth["Authentication"]
  node_registration["Registration"]
  node_views["Finance screens<br/>[app.blade.php]"]
end

subgraph group_money["Money management"]
  node_transactions["Transactions"]
  node_txservice["Transaction service"]
  node_accounts["Accounts"]
  node_categories["Categories"]
  node_models["Finance models<br/>[Transaction.php]"]
  node_database[("Database<br/>[database.php]")]
end

subgraph group_planning["Planning"]
  node_budgets["Budgets"]
  node_goals["Financial goals<br/>[GoalService.php]"]
  node_recurring["Recurring transactions"]
  node_recurringcmd["Recurring processor"]
end

subgraph group_insights["Insights and exports"]
  node_dashboard["Dashboard"]
  node_forecast["Spending forecast"]
  node_health["Financial health"]
  node_reports["Reports"]
  node_csv["CSV import/export"]
  node_exportcontroller["Transaction import/export"]
end

node_user(("User"))

node_user -->|"sends request"| node_routes
node_routes -->|"dispatches auth"| node_auth
node_routes -->|"dispatches signup"| node_registration
node_routes -->|"dispatches transaction"| node_transactions
node_routes -->|"dispatches budget"| node_budgets
node_routes -->|"dispatches dashboard"| node_dashboard
node_auth -->|"renders login"| node_views
node_registration -->|"renders signup"| node_views
node_transactions -->|"calls"| node_txservice
node_transactions -->|"queries"| node_models
node_txservice -->|"updates"| node_models
node_models -->|"persists"| node_database
node_budgets -->|"queries"| node_models
node_dashboard -->|"requests forecast"| node_forecast
node_dashboard -->|"requests analysis"| node_health
node_dashboard -->|"queries"| node_models
node_recurringcmd -->|"processes rules"| node_recurring
node_recurring -->|"persists"| node_models
node_exportcontroller -->|"delegates import/export"| node_csv
node_csv -->|"reads and writes"| node_models
node_reports -->|"queries"| node_models
node_dashboard -->|"renders dashboard"| node_views
node_transactions -->|"renders transaction screens"| node_views
node_budgets -->|"renders budget screens"| node_views

click node_routes "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/routes/web.php"
click node_auth "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_registration "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_views "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/resources/views/layouts/app.blade.php"
click node_transactions "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/TransactionController.php"
click node_txservice "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/TransactionService.php"
click node_accounts "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/AccountController.php"
click node_categories "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/CategoryController.php"
click node_models "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Models/Transaction.php"
click node_database "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/config/database.php"
click node_budgets "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/BudgetController.php"
click node_goals "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/GoalService.php"
click node_recurring "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/RecurringTransactionService.php"
click node_recurringcmd "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Console/Commands/ProcessRecurringTransactions.php"
click node_dashboard "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/DashboardController.php"
click node_forecast "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/ForecastService.php"
click node_health "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/FinancialHealthService.php"
click node_reports "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/ReportController.php"
click node_csv "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/CsvExportImportService.php"
click node_exportcontroller "https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/TransactionExportImportController.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_routes,node_auth,node_registration,node_views,node_user toneBlue
class node_transactions,node_txservice,node_accounts,node_categories,node_models,node_database toneAmber
class node_budgets,node_goals,node_recurring,node_recurringcmd toneMint
class node_dashboard,node_forecast,node_health,node_reports,node_csv,node_exportcontroller toneRose
```

## Components

### Access and UI

- [Web routes](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [Registration](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php): `app/Http/Controllers/Auth/RegisteredUserController.php`
- [Finance screens](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/resources/views/layouts/app.blade.php): `resources/views/layouts/app.blade.php`

### Money management

- [Transactions](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/TransactionController.php): `app/Http/Controllers/TransactionController.php`
- [Transaction service](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/TransactionService.php): `app/Services/TransactionService.php`
- [Accounts](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/AccountController.php): `app/Http/Controllers/AccountController.php`
- [Categories](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/CategoryController.php): `app/Http/Controllers/CategoryController.php`
- [Finance models](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Models/Transaction.php): `app/Models/Transaction.php`
- [Database](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/config/database.php): `config/database.php`

### Planning

- [Budgets](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/BudgetController.php): `app/Http/Controllers/BudgetController.php`
- [Financial goals](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/GoalService.php): `app/Services/GoalService.php`
- [Recurring transactions](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/RecurringTransactionService.php): `app/Services/RecurringTransactionService.php`
- [Recurring processor](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Console/Commands/ProcessRecurringTransactions.php): `app/Console/Commands/ProcessRecurringTransactions.php`

### Insights and exports

- [Dashboard](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Spending forecast](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/ForecastService.php): `app/Services/ForecastService.php`
- [Financial health](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/FinancialHealthService.php): `app/Services/FinancialHealthService.php`
- [Reports](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/ReportController.php): `app/Http/Controllers/ReportController.php`
- [CSV import/export](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Services/CsvExportImportService.php): `app/Services/CsvExportImportService.php`
- [Transaction import/export](https://github.com/fardhanfahrezy/managjeh-laravel-13/blob/main/app/Http/Controllers/TransactionExportImportController.php): `app/Http/Controllers/TransactionExportImportController.php`

### Other components

- **User**

## Connections

- User → Web routes: sends request
- Web routes → Authentication: dispatches auth
- Web routes → Registration: dispatches signup
- Web routes → Transactions: dispatches transaction
- Web routes → Budgets: dispatches budget
- Web routes → Dashboard: dispatches dashboard
- Authentication → Finance screens: renders login
- Registration → Finance screens: renders signup
- Transactions → Transaction service: calls
- Transactions → Finance models: queries
- Transaction service → Finance models: updates
- Finance models → Database: persists
- Budgets → Finance models: queries
- Dashboard → Spending forecast: requests forecast
- Dashboard → Financial health: requests analysis
- Dashboard → Finance models: queries
- Recurring processor → Recurring transactions: processes rules
- Recurring transactions → Finance models: persists
- Transaction import/export → CSV import/export: delegates import/export
- CSV import/export → Finance models: reads and writes
- Reports → Finance models: queries
- Dashboard → Finance screens: renders dashboard
- Transactions → Finance screens: renders transaction screens
- Budgets → Finance screens: renders budget screens
