# moulik-maiti/wbpdcl_internship architecture

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

## Overview

This Laravel application provides a web-based operations portal centered on creating, updating, searching, and exporting reports, with status history and dashboard summaries. It also includes authentication, profile management, and administration of users, roles, and permissions. The report controller source confirms its persistence, history, notification, and export actions; the tree supports the other feature areas, but their internal wiring was not sampled, so those links are kept at the routing level. The README describes Laravel generally rather than documenting this application's capabilities.

Main entry points: [`app/Http/Controllers/ReportController.php`](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/ReportController.php) (Report controller), [`routes/web.php`](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/DashboardController.php`](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/DashboardController.php) (Dashboard controller), [`app/Models/User.php`](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/User.php) (User accounts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_reporting["Report Operations"]
  node_report_controller["Report controller"]
  node_report_model["Report records<br/>[Report.php]"]
  node_status_model["Report statuses<br/>[Status.php]"]
  node_history_model["Change history<br/>[History.php]"]
  node_history_controller["History controller"]
  node_exporter["Report export<br/>[ReportsExport.php]"]
  node_notification["Report notification"]
  node_dashboard_controller["Dashboard controller"]
end

subgraph group_admin["Administration"]
  node_user_controller["User administration<br/>[UserController.php]"]
  node_role_controller["Role administration<br/>[RoleController.php]"]
  node_permission_controller["Permission administration"]
end

subgraph group_identity["Identity"]
  node_auth_routes["Auth routes<br/>[auth.php]"]
  node_user_model["User accounts<br/>[User.php]"]
  node_auth_controller["Session controller"]
  node_registration_controller["Registration controller"]
  node_profile_controller["Profile controller"]
end

subgraph group_presentation["Web Presentation"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_report_views["Report screens<br/>[list.blade.php]"]
  node_dashboard_view["Dashboard screen"]
  node_auth_views["Login and registration<br/>[login.blade.php]"]
  node_admin_views["Administration screens<br/>[list.blade.php]"]
  node_history_view["History screen<br/>[list.blade.php]"]
  node_profile_view["Profile screen<br/>[edit.blade.php]"]
end

node_operator(("Portal user"))
node_database[("Application database")]
node_excel_service["Excel download service"]

node_operator -->|"requests pages"| node_web_routes
node_web_routes -->|"dispatches reports"| node_report_controller
node_web_routes -->|"dispatches history"| node_history_controller
node_web_routes -->|"dispatches dashboard"| node_dashboard_controller
node_web_routes -->|"dispatches users"| node_user_controller
node_web_routes -->|"dispatches roles"| node_role_controller
node_web_routes -->|"dispatches permissions"| node_permission_controller
node_web_routes -->|"dispatches profile"| node_profile_controller
node_report_controller -->|"renders screens"| node_report_views
node_report_controller -->|"reads and writes"| node_report_model
node_report_controller -->|"reads statuses"| node_status_model
node_report_controller -->|"records changes"| node_history_model
node_report_controller -->|"finds admins"| node_user_model
node_report_controller -->|"notifies admins"| node_notification
node_report_controller -->|"builds export"| node_exporter
node_report_controller -->|"downloads workbook"| node_excel_service
node_report_controller -->|"persists report data"| node_database
node_history_controller -->|"renders history"| node_history_view
node_dashboard_controller -->|"summarizes reports"| node_report_model
node_dashboard_controller -->|"summarizes users"| node_user_model
node_dashboard_controller -->|"reads recent changes"| node_history_model
node_dashboard_controller -->|"groups by status"| node_status_model
node_dashboard_controller -->|"renders metrics"| node_dashboard_view
node_user_controller -->|"manages accounts"| node_user_model
node_user_controller -->|"renders screens"| node_admin_views
node_user_controller -->|"persists accounts"| node_database
node_role_controller -->|"manages role data"| node_database
node_permission_controller -->|"manages permission data"| node_database
node_web_routes -->|"loads auth routes"| node_auth_routes
node_auth_routes -->|"dispatches sessions"| node_auth_controller
node_auth_routes -->|"dispatches registration"| node_registration_controller
node_auth_controller -->|"renders login"| node_auth_views
node_registration_controller -->|"renders registration"| node_auth_views
node_registration_controller -->|"creates account"| node_user_model
node_auth_controller -->|"authenticates account"| node_user_model
node_profile_controller -->|"renders profile"| node_profile_view
node_profile_controller -->|"updates account"| node_user_model

click node_web_routes "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/routes/web.php"
click node_auth_routes "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/routes/auth.php"
click node_report_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/ReportController.php"
click node_report_views "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/Report/list.blade.php"
click node_report_model "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/Report.php"
click node_status_model "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/Status.php"
click node_history_model "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/History.php"
click node_history_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/HistoryController.php"
click node_exporter "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Exports/ReportsExport.php"
click node_notification "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Notifications/ReportNotification.php"
click node_dashboard_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/DashboardController.php"
click node_dashboard_view "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/dashboard.blade.php"
click node_user_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/UserController.php"
click node_role_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/RoleController.php"
click node_permission_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/PermissionController.php"
click node_user_model "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/User.php"
click node_auth_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_registration_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_profile_controller "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/ProfileController.php"
click node_auth_views "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/auth/login.blade.php"
click node_admin_views "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/User/list.blade.php"
click node_history_view "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/history/list.blade.php"
click node_profile_view "https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/profile/edit.blade.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_report_controller,node_report_model,node_status_model,node_history_model,node_history_controller,node_exporter,node_notification,node_dashboard_controller,node_operator toneBlue
class node_user_controller,node_role_controller,node_permission_controller,node_database toneAmber
class node_auth_routes,node_user_model,node_auth_controller,node_registration_controller,node_profile_controller toneMint
class node_web_routes,node_report_views,node_dashboard_view,node_auth_views,node_admin_views,node_history_view,node_profile_view toneRose
class node_excel_service toneIndigo
```

## Components

### Report Operations

- [Report controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/ReportController.php): `app/Http/Controllers/ReportController.php`
- [Report records](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/Report.php): `app/Models/Report.php`
- [Report statuses](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/Status.php): `app/Models/Status.php`
- [Change history](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/History.php): `app/Models/History.php`
- [History controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/HistoryController.php): `app/Http/Controllers/HistoryController.php`
- [Report export](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Exports/ReportsExport.php): `app/Exports/ReportsExport.php`
- [Report notification](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Notifications/ReportNotification.php): `app/Notifications/ReportNotification.php`
- [Dashboard controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`

### Administration

- [User administration](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/UserController.php): `app/Http/Controllers/UserController.php`
- [Role administration](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/RoleController.php): `app/Http/Controllers/RoleController.php`
- [Permission administration](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/PermissionController.php): `app/Http/Controllers/PermissionController.php`

### Identity

- [Auth routes](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/routes/auth.php): `routes/auth.php`
- [User accounts](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Models/User.php): `app/Models/User.php`
- [Session controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [Registration controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php): `app/Http/Controllers/Auth/RegisteredUserController.php`
- [Profile controller](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/app/Http/Controllers/ProfileController.php): `app/Http/Controllers/ProfileController.php`

### Web Presentation

- [Web routes](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/routes/web.php): `routes/web.php`
- [Report screens](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/Report/list.blade.php): `resources/views/Report/list.blade.php`
- [Dashboard screen](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/dashboard.blade.php): `resources/views/dashboard.blade.php`
- [Login and registration](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/auth/login.blade.php): `resources/views/auth/login.blade.php`
- [Administration screens](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/User/list.blade.php): `resources/views/User/list.blade.php`
- [History screen](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/history/list.blade.php): `resources/views/history/list.blade.php`
- [Profile screen](https://github.com/moulik-maiti/wbpdcl_internship/blob/main/resources/views/profile/edit.blade.php): `resources/views/profile/edit.blade.php`

### Other components

- **Portal user**
- **Application database**
- **Excel download service**

## Connections

- Portal user → Web routes: requests pages
- Web routes → Report controller: dispatches reports
- Web routes → History controller: dispatches history
- Web routes → Dashboard controller: dispatches dashboard
- Web routes → User administration: dispatches users
- Web routes → Role administration: dispatches roles
- Web routes → Permission administration: dispatches permissions
- Web routes → Profile controller: dispatches profile
- Report controller → Report screens: renders screens
- Report controller → Report records: reads and writes
- Report controller → Report statuses: reads statuses
- Report controller → Change history: records changes
- Report controller → User accounts: finds admins
- Report controller → Report notification: notifies admins
- Report controller → Report export: builds export
- Report controller → Excel download service: downloads workbook
- Report controller → Application database: persists report data
- History controller → History screen: renders history
- Dashboard controller → Report records: summarizes reports
- Dashboard controller → User accounts: summarizes users
- Dashboard controller → Change history: reads recent changes
- Dashboard controller → Report statuses: groups by status
- Dashboard controller → Dashboard screen: renders metrics
- User administration → User accounts: manages accounts
- User administration → Administration screens: renders screens
- User administration → Application database: persists accounts
- Role administration → Application database: manages role data
- Permission administration → Application database: manages permission data
- Web routes → Auth routes: loads auth routes
- Auth routes → Session controller: dispatches sessions
- Auth routes → Registration controller: dispatches registration
- Session controller → Login and registration: renders login
- Registration controller → Login and registration: renders registration
- Registration controller → User accounts: creates account
- Session controller → User accounts: authenticates account
- Profile controller → Profile screen: renders profile
- Profile controller → User accounts: updates account
