# ashish-720/orangehrm_asl11 architecture

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

- Interactive diagram: https://gitdiagram.com/ashish-720/orangehrm_asl11
- Repository: https://github.com/ashish-720/orangehrm_asl11

## Overview

This repository is an OrangeHRM browser-test automation project. Its apparent workflow is to sign in, reach the dashboard, navigate the UI, and exercise employee-table behavior using supplied employee data. The excerpts show page-object construction and shared Selenium initialization; test-suite connections and employee-table wiring are not shown, so those relationships are left unverified.

Main entry points: [`src/main/java/org/OrangeHRMPages/BasePage.java`](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/BasePage.java) (Page Base), [`src/main/java/org/OrangeHRMPages/DashBoardPage.java`](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/DashBoardPage.java) (Dashboard Page), [`src/main/java/org/OrangeHRMModules/LeftMenuModule.java`](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/LeftMenuModule.java) (Left Menu), [`src/test/java/org/OrangeHrmRegressions/OrangeHrmEmployeeTableDataTest.java`](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/OrangeHrmEmployeeTableDataTest.java) (Employee Table Test)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pages["Page Objects"]
  node_login["Login Page<br/>[LoginPage.java]"]
  node_dashboard["Dashboard Page<br/>[DashBoardPage.java]"]
  node_base["Page Base<br/>[BasePage.java]"]
  node_smoke["Smoke Regression"]
  node_test_base["Test Base<br/>[BaseClass.java]"]
end

subgraph group_modules["UI Modules"]
  node_leftmenu["Left Menu"]
  node_profile["Profile Module<br/>[ProfileModule.java]"]
  node_topbar["Top Bar<br/>[TopBarModule.java]"]
end

subgraph group_employees["Employee Table"]
  node_employee_data["Employee Data"]
  node_employee_grid["Employee Grid"]
  node_employee_test["Employee Table Test"]
end

node_tester(("Test Runner"))

node_tester -.->|"runs"| node_smoke
node_tester -.->|"runs"| node_employee_test
node_login -.->|"signs into"| node_dashboard
node_dashboard -->|"constructs"| node_leftmenu
node_dashboard -->|"constructs"| node_topbar
node_leftmenu -->|"constructs"| node_profile
node_login -->|"initializes via"| node_base
node_dashboard -->|"initializes via"| node_base
node_leftmenu -->|"initializes via"| node_base
node_profile -->|"initializes via"| node_base
node_topbar -->|"initializes via"| node_base
node_employee_grid -->|"initializes via"| node_base
node_employee_test -.->|"uses data"| node_employee_data
node_employee_test -.->|"checks grid"| node_employee_grid

click node_login "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/LoginPage.java"
click node_dashboard "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/DashBoardPage.java"
click node_base "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/BasePage.java"
click node_leftmenu "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/LeftMenuModule.java"
click node_profile "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/ProfileModule.java"
click node_topbar "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/TopBarModule.java"
click node_employee_data "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHrmDataProviders/EmployeeTableDataProvider.java"
click node_employee_grid "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHrmGrids/EmployeeListGrid.java"
click node_smoke "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/OrangeHRMSmoke.java"
click node_employee_test "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/OrangeHrmEmployeeTableDataTest.java"
click node_test_base "https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/BaseClass.java"

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_login,node_dashboard,node_base,node_smoke,node_test_base toneBlue
class node_leftmenu,node_profile,node_topbar toneAmber
class node_employee_data,node_employee_grid,node_employee_test toneMint
class node_tester toneIndigo
```

## Components

### Page Objects

- [Login Page](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/LoginPage.java): `src/main/java/org/OrangeHRMPages/LoginPage.java`
- [Dashboard Page](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/DashBoardPage.java): `src/main/java/org/OrangeHRMPages/DashBoardPage.java`
- [Page Base](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMPages/BasePage.java): `src/main/java/org/OrangeHRMPages/BasePage.java`
- [Smoke Regression](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/OrangeHRMSmoke.java): `src/test/java/org/OrangeHrmRegressions/OrangeHRMSmoke.java`
- [Test Base](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/BaseClass.java): `src/test/java/org/OrangeHrmRegressions/BaseClass.java`

### UI Modules

- [Left Menu](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/LeftMenuModule.java): `src/main/java/org/OrangeHRMModules/LeftMenuModule.java`
- [Profile Module](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/ProfileModule.java): `src/main/java/org/OrangeHRMModules/ProfileModule.java`
- [Top Bar](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHRMModules/TopBarModule.java): `src/main/java/org/OrangeHRMModules/TopBarModule.java`

### Employee Table

- [Employee Data](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHrmDataProviders/EmployeeTableDataProvider.java): `src/main/java/org/OrangeHrmDataProviders/EmployeeTableDataProvider.java`
- [Employee Grid](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/main/java/org/OrangeHrmGrids/EmployeeListGrid.java): `src/main/java/org/OrangeHrmGrids/EmployeeListGrid.java`
- [Employee Table Test](https://github.com/ashish-720/orangehrm_asl11/blob/master/src/test/java/org/OrangeHrmRegressions/OrangeHrmEmployeeTableDataTest.java): `src/test/java/org/OrangeHrmRegressions/OrangeHrmEmployeeTableDataTest.java`

### Other components

- **Test Runner**

## Connections

- Test Runner → Smoke Regression: runs
- Test Runner → Employee Table Test: runs
- Login Page → Dashboard Page: signs into
- Dashboard Page → Left Menu: constructs (evidence: `src/main/java/org/OrangeHRMPages/DashBoardPage.java`)
- Dashboard Page → Top Bar: constructs (evidence: `src/main/java/org/OrangeHRMPages/DashBoardPage.java`)
- Left Menu → Profile Module: constructs (evidence: `src/main/java/org/OrangeHRMModules/LeftMenuModule.java`)
- Login Page → Page Base: initializes via (evidence: `src/main/java/org/OrangeHRMPages/LoginPage.java`)
- Dashboard Page → Page Base: initializes via (evidence: `src/main/java/org/OrangeHRMPages/DashBoardPage.java`)
- Left Menu → Page Base: initializes via (evidence: `src/main/java/org/OrangeHRMModules/LeftMenuModule.java`)
- Profile Module → Page Base: initializes via (evidence: `src/main/java/org/OrangeHRMModules/ProfileModule.java`)
- Top Bar → Page Base: initializes via (evidence: `src/main/java/org/OrangeHRMModules/TopBarModule.java`)
- Employee Grid → Page Base: initializes via (evidence: `src/main/java/org/OrangeHrmGrids/EmployeeListGrid.java`)
- Employee Table Test → Employee Data: uses data
- Employee Table Test → Employee Grid: checks grid
