# bc260212477/islamic-financial-management-system- architecture

> Architecture diagram of the GitHub repository bc260212477/islamic-financial-management-system-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bc260212477/islamic-financial-management-system-
- Repository: https://github.com/bc260212477/islamic-financial-management-system-

## Overview

Barakah Finance has a static-v1 personal-finance dashboard and a Laravel platform app. The documented v1 workflow is to add expenses, see activity and spending totals update, and retain data across refreshes; README capabilities also include investments, cash flow, zakat, Shariah screening, Islamic banks, import/export, backup/restore, search/filter/delete, budgets, currency display, dark mode, printing, and PWA support. Platform excerpts show account and authentication flows, but do not establish how those capabilities map to platform code. Static internals are represented by their shared app.js path; unsampled implementation details and relationships are omitted.

Main entry points: [`apps/static-v1/app.js`](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js) (Dashboard app), [`apps/platform/app/Http/Controllers/AccountController.php`](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/AccountController.php) (Account controller), [`apps/platform/app/Models/User.php`](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Models/User.php) (User model), [`apps/platform/database/seeders/RolesAndDemoSeeder.php`](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/database/seeders/RolesAndDemoSeeder.php) (Demo seeding)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_static["Static dashboard"]
  node_staticapp["Dashboard app<br/>[app.js]"]
end

subgraph group_finance["Finance capabilities"]
  node_expense["Expense tracking<br/>[app.js]"]
  node_storage[("Browser storage")]
  node_investments["Investments<br/>[app.js]"]
  node_cashflow["Cash flow<br/>[app.js]"]
  node_zakat["Zakat<br/>[app.js]"]
  node_screener["Shariah screener<br/>[app.js]"]
  node_banks["Islamic banks<br/>[app.js]"]
  node_dataops["Data tools<br/>[app.js]"]
  node_discovery["Search and filters<br/>[app.js]"]
  node_presentation["Display options<br/>[app.js]"]
end

subgraph group_platform["Laravel platform"]
  node_web_routes["Web routing<br/>[web.php]"]
  node_account_controller["Account controller"]
  node_account_model["Account model<br/>[Account.php]"]
  node_account_view["Account view<br/>[index.blade.php]"]
  node_seed_data["Demo seeding"]
end

subgraph group_identity["Identity and profiles"]
  node_auth_routes["Auth routing<br/>[auth.php]"]
  node_session_controller["Session controller"]
  node_registration["Registration"]
  node_profile["Profile management"]
  node_profile_request["Profile validation"]
  node_user_model["User model<br/>[User.php]"]
end

node_person(("Finance user"))

node_person -->|"uses"| node_staticapp
node_staticapp -->|"records expenses"| node_expense
node_expense -->|"persists in"| node_storage
node_expense -->|"updates dashboard"| node_staticapp
node_staticapp -.->|"offers"| node_investments
node_staticapp -.->|"offers"| node_cashflow
node_staticapp -.->|"offers"| node_zakat
node_staticapp -.->|"offers"| node_screener
node_staticapp -.->|"offers"| node_banks
node_staticapp -.->|"offers"| node_dataops
node_staticapp -.->|"offers"| node_discovery
node_staticapp -.->|"offers"| node_presentation
node_web_routes -->|"routes to"| node_account_controller
node_account_controller -->|"queries and creates"| node_account_model
node_account_controller -->|"renders"| node_account_view
node_auth_routes -->|"routes to"| node_session_controller
node_auth_routes -->|"routes to"| node_registration
node_registration -->|"creates user"| node_user_model
node_profile -->|"validates with"| node_profile_request
node_profile_request -->|"validates user"| node_user_model
node_seed_data -->|"seeds accounts"| node_account_model
node_seed_data -->|"seeds users"| node_user_model

click node_staticapp "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_expense "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_investments "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_cashflow "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_zakat "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_screener "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_banks "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_dataops "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_discovery "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_presentation "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js"
click node_web_routes "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/routes/web.php"
click node_account_controller "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/AccountController.php"
click node_account_model "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Models/Account.php"
click node_account_view "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/resources/views/accounts/index.blade.php"
click node_auth_routes "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/routes/auth.php"
click node_session_controller "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_registration "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_profile "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/ProfileController.php"
click node_profile_request "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Requests/ProfileUpdateRequest.php"
click node_user_model "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Models/User.php"
click node_seed_data "https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/database/seeders/RolesAndDemoSeeder.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_staticapp,node_person toneBlue
class node_expense,node_storage,node_investments,node_cashflow,node_zakat,node_screener,node_banks,node_dataops,node_discovery,node_presentation toneAmber
class node_web_routes,node_account_controller,node_account_model,node_account_view,node_seed_data toneMint
class node_auth_routes,node_session_controller,node_registration,node_profile,node_profile_request,node_user_model toneRose
```

## Components

### Static dashboard

- [Dashboard app](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`

### Finance capabilities

- [Expense tracking](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- **Browser storage**
- [Investments](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Cash flow](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Zakat](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Shariah screener](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Islamic banks](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Data tools](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Search and filters](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`
- [Display options](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/static-v1/app.js): `apps/static-v1/app.js`

### Laravel platform

- [Web routing](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/routes/web.php): `apps/platform/routes/web.php`
- [Account controller](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/AccountController.php): `apps/platform/app/Http/Controllers/AccountController.php`
- [Account model](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Models/Account.php): `apps/platform/app/Models/Account.php`
- [Account view](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/resources/views/accounts/index.blade.php): `apps/platform/resources/views/accounts/index.blade.php`
- [Demo seeding](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/database/seeders/RolesAndDemoSeeder.php): `apps/platform/database/seeders/RolesAndDemoSeeder.php`

### Identity and profiles

- [Auth routing](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/routes/auth.php): `apps/platform/routes/auth.php`
- [Session controller](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `apps/platform/app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [Registration](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/Auth/RegisteredUserController.php): `apps/platform/app/Http/Controllers/Auth/RegisteredUserController.php`
- [Profile management](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Controllers/ProfileController.php): `apps/platform/app/Http/Controllers/ProfileController.php`
- [Profile validation](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Http/Requests/ProfileUpdateRequest.php): `apps/platform/app/Http/Requests/ProfileUpdateRequest.php`
- [User model](https://github.com/bc260212477/islamic-financial-management-system-/blob/main/apps/platform/app/Models/User.php): `apps/platform/app/Models/User.php`

### Other components

- **Finance user**

## Connections

- Finance user → Dashboard app: uses (evidence: `README.md`)
- Dashboard app → Expense tracking: records expenses (evidence: `README.md`)
- Expense tracking → Browser storage: persists in (evidence: `README.md`)
- Expense tracking → Dashboard app: updates dashboard (evidence: `README.md`)
- Dashboard app → Investments: offers (evidence: `README.md`)
- Dashboard app → Cash flow: offers (evidence: `README.md`)
- Dashboard app → Zakat: offers (evidence: `README.md`)
- Dashboard app → Shariah screener: offers (evidence: `README.md`)
- Dashboard app → Islamic banks: offers (evidence: `README.md`)
- Dashboard app → Data tools: offers (evidence: `README.md`)
- Dashboard app → Search and filters: offers (evidence: `README.md`)
- Dashboard app → Display options: offers (evidence: `README.md`)
- Web routing → Account controller: routes to (evidence: `apps/platform/routes/web.php`)
- Account controller → Account model: queries and creates (evidence: `apps/platform/app/Http/Controllers/AccountController.php`)
- Account controller → Account view: renders (evidence: `apps/platform/app/Http/Controllers/AccountController.php`)
- Auth routing → Session controller: routes to (evidence: `apps/platform/routes/auth.php`)
- Auth routing → Registration: routes to (evidence: `apps/platform/routes/auth.php`)
- Registration → User model: creates user (evidence: `apps/platform/app/Http/Controllers/Auth/RegisteredUserController.php`)
- Profile management → Profile validation: validates with (evidence: `apps/platform/app/Http/Controllers/ProfileController.php`)
- Profile validation → User model: validates user (evidence: `apps/platform/app/Http/Requests/ProfileUpdateRequest.php`)
- Demo seeding → Account model: seeds accounts (evidence: `apps/platform/database/seeders/RolesAndDemoSeeder.php`)
- Demo seeding → User model: seeds users (evidence: `apps/platform/database/seeders/RolesAndDemoSeeder.php`)
