# mhabuesa/ihsanagro architecture

> Architecture diagram of the GitHub repository mhabuesa/ihsanagro, 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/mhabuesa/ihsanagro
- Repository: https://github.com/mhabuesa/ihsanagro

## Overview

This appears to be an agriculture project and accounting application: users manage projects, record income and expenses, and inspect project totals. The README is an unmodified Laravel template and does not document product capabilities, so the graph relies on the tree and sampled controller behavior. Controller-to-model and controller-to-view links are shown where sampled code supports them; route wiring and unsampled features are left unspecified.

Main entry points: [`app/Http/Controllers/IncomeController.php`](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/IncomeController.php) (Income and expenses), [`app/Http/Controllers/ProjectController.php`](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/ProjectController.php) (Project management), [`public/index.php`](https://github.com/mhabuesa/ihsanagro/blob/main/public/index.php) (HTTP entry), [`app/Models/ProjectModel.php`](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/ProjectModel.php) (Project records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_front["HTTP entry<br/>[index.php]"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_home["Home dashboard<br/>[HomeController.php]"]
  node_dashboard_view["Dashboard view<br/>[index.blade.php]"]
end

subgraph group_projects["Project management"]
  node_project_controller["Project management"]
  node_project_views["Project screens"]
  node_project_model["Project records<br/>[ProjectModel.php]"]
end

subgraph group_accounts["Financial records"]
  node_income_controller["Income and expenses"]
  node_account_views["Account screens<br/>[income.blade.php]"]
  node_income_model["Income records<br/>[IncomeModel.php]"]
  node_expense_model["Expense records<br/>[ExpenseModel.php]"]
  node_due_model["Due records<br/>[DueListModel.php]"]
  node_season_model["Season records<br/>[SeasonModel.php]"]
  node_profile_model["Expense profiles<br/>[Profile.php]"]
  node_due_controller["Due management<br/>[DueController.php]"]
  node_season_controller["Season management"]
end

subgraph group_support["User and records"]
  node_note_controller["Notes<br/>[NoteController.php]"]
  node_note_model["Note records<br/>[NoteModel.php]"]
  node_user_controller["User management<br/>[UserController.php]"]
  node_auth_controller["Authentication"]
  node_user_model["User records<br/>[User.php]"]
end

node_user(("User"))

node_user -->|"sends request"| node_front
node_front -->|"handles request"| node_web_routes
node_project_controller -->|"reads and writes"| node_project_model
node_project_controller -->|"queries project income"| node_income_model
node_project_controller -->|"queries project expenses"| node_expense_model
node_project_controller -->|"renders details"| node_project_views
node_income_controller -->|"reads and writes"| node_income_model
node_income_controller -->|"reads and writes"| node_expense_model
node_income_controller -->|"creates due entry"| node_due_model
node_income_controller -->|"loads projects"| node_project_model
node_income_controller -->|"reads and writes"| node_profile_model
node_income_controller -->|"loads seasons"| node_season_model
node_income_controller -->|"renders account page"| node_account_views
node_auth_controller -->|"authenticates user"| node_user_model

click node_front "https://github.com/mhabuesa/ihsanagro/blob/main/public/index.php"
click node_web_routes "https://github.com/mhabuesa/ihsanagro/blob/main/routes/web.php"
click node_home "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/HomeController.php"
click node_dashboard_view "https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/index.blade.php"
click node_project_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/ProjectController.php"
click node_project_views "https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/project/project_details.blade.php"
click node_project_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/ProjectModel.php"
click node_income_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/IncomeController.php"
click node_account_views "https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/account/income.blade.php"
click node_income_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/IncomeModel.php"
click node_expense_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/ExpenseModel.php"
click node_due_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/DueListModel.php"
click node_season_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/SeasonModel.php"
click node_profile_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/Profile.php"
click node_due_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/DueController.php"
click node_season_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/SeasonController.php"
click node_note_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/NoteController.php"
click node_note_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/NoteModel.php"
click node_user_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/UserController.php"
click node_auth_controller "https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_user_model "https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/User.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_front,node_web_routes,node_home,node_dashboard_view,node_user toneBlue
class node_project_controller,node_project_views,node_project_model toneAmber
class node_income_controller,node_account_views,node_income_model,node_expense_model,node_due_model,node_season_model,node_profile_model,node_due_controller,node_season_controller toneMint
class node_note_controller,node_note_model,node_user_controller,node_auth_controller,node_user_model toneRose
```

## Components

### Web entry

- [HTTP entry](https://github.com/mhabuesa/ihsanagro/blob/main/public/index.php): `public/index.php`
- [Web routes](https://github.com/mhabuesa/ihsanagro/blob/main/routes/web.php): `routes/web.php`
- [Home dashboard](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/HomeController.php): `app/Http/Controllers/HomeController.php`
- [Dashboard view](https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/index.blade.php): `resources/views/backend/index.blade.php`

### Project management

- [Project management](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/ProjectController.php): `app/Http/Controllers/ProjectController.php`
- [Project screens](https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/project/project_details.blade.php): `resources/views/backend/project/project_details.blade.php`
- [Project records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/ProjectModel.php): `app/Models/ProjectModel.php`

### Financial records

- [Income and expenses](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/IncomeController.php): `app/Http/Controllers/IncomeController.php`
- [Account screens](https://github.com/mhabuesa/ihsanagro/blob/main/resources/views/backend/account/income.blade.php): `resources/views/backend/account/income.blade.php`
- [Income records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/IncomeModel.php): `app/Models/IncomeModel.php`
- [Expense records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/ExpenseModel.php): `app/Models/ExpenseModel.php`
- [Due records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/DueListModel.php): `app/Models/DueListModel.php`
- [Season records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/SeasonModel.php): `app/Models/SeasonModel.php`
- [Expense profiles](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/Profile.php): `app/Models/Profile.php`
- [Due management](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/DueController.php): `app/Http/Controllers/DueController.php`
- [Season management](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/SeasonController.php): `app/Http/Controllers/SeasonController.php`

### User and records

- [Notes](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/NoteController.php): `app/Http/Controllers/NoteController.php`
- [Note records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/NoteModel.php): `app/Models/NoteModel.php`
- [User management](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/UserController.php): `app/Http/Controllers/UserController.php`
- [Authentication](https://github.com/mhabuesa/ihsanagro/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [User records](https://github.com/mhabuesa/ihsanagro/blob/main/app/Models/User.php): `app/Models/User.php`

### Other components

- **User**

## Connections

- User → HTTP entry: sends request
- HTTP entry → Web routes: handles request
- Project management → Project records: reads and writes
- Project management → Income records: queries project income
- Project management → Expense records: queries project expenses
- Project management → Project screens: renders details
- Income and expenses → Income records: reads and writes
- Income and expenses → Expense records: reads and writes
- Income and expenses → Due records: creates due entry
- Income and expenses → Project records: loads projects
- Income and expenses → Expense profiles: reads and writes
- Income and expenses → Season records: loads seasons
- Income and expenses → Account screens: renders account page
- Authentication → User records: authenticates user
