# amuthansakthivel/theoneframework architecture

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

## Overview

The repository is a Java web, mobile, and API automation framework. Its principal workflow is a test invoking a domain-facing page object, mobile screen, or API adapter; those components interact with a browser/device or HTTP service and expose assertions or responses to the test. The README documents Allure reporting and local or LambdaTest execution. Setup classes and most test orchestration are not mapped because they are test code and were not sampled; exact paths identify the documented provider and configuration areas.

Main entry points: [`src/main/java/com/tmb/provider/web/remote/LambdaTestChromeProvider.java`](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/web/remote/LambdaTestChromeProvider.java) (LambdaTest Chrome), [`src/main/java/com/tmb/provider/mobile`](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/provider/mobile) (Mobile providers), [`src/main/java/com/tmb/provider/mobile/remote/LambdaTestAndroidAppProvider.java`](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/mobile/remote/LambdaTestAndroidAppProvider.java) (LambdaTest Android), [`src/main/java/com/tmb/api/UserApi.java`](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/api/UserApi.java) (User API adapter)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web automation"]
  node_webpages["Web page objects"]
  node_employee["Employee workflow"]
  node_login["Login workflow<br/>[LoginPage.java]"]
  node_home["Home navigation<br/>[HomePage.java]"]
  node_reset["Password reset"]
  node_webprovider["LambdaTest Chrome"]
end

subgraph group_mobile["Mobile automation"]
  node_mobilepages["Mobile screens"]
  node_product["Product screens"]
  node_description["Product description"]
  node_apidemos["API Demos screens"]
  node_mobileproviders["Mobile providers"]
  node_localapps["Local app providers"]
  node_remoteandroid["LambdaTest Android"]
end

subgraph group_api["API automation"]
  node_apiadapter["User API adapter<br/>[UserApi.java]"]
  node_request["User request model<br/>[UserDetails.java]"]
  node_response["Create response model"]
end

subgraph group_shared["Shared framework"]
  node_config["Framework configuration"]
  node_configfactory["Config factory<br/>[ConfigFactory.java]"]
  node_allure["Allure reporting"]
end

node_author(("Test author"))
node_webtests(("Web tests"))
node_mobiletests(("Mobile tests"))
node_apitests(("API tests"))
node_webapp(("Web application"))
node_mobileapp(("Mobile application"))
node_service(("HTTP API service"))
node_lambdatest(("LambdaTest"))

node_author -->|"writes tests"| node_webtests
node_author -->|"writes tests"| node_mobiletests
node_author -->|"writes tests"| node_apitests
node_webtests -->|"invokes"| node_webpages
node_webpages -->|"drives UI"| node_webapp
node_employee -->|"fills and checks"| node_webapp
node_login -->|"drives login"| node_webapp
node_home -->|"navigates"| node_webapp
node_reset -->|"drives reset"| node_webapp
node_mobiletests -->|"invokes"| node_mobilepages
node_mobiletests -->|"selects screen"| node_product
node_product -->|"drives UI"| node_mobileapp
node_description -->|"checks UI"| node_mobileapp
node_apidemos -->|"drives UI"| node_mobileapp
node_mobiletests -->|"selects driver"| node_mobileproviders
node_mobileproviders -->|"uses local providers"| node_localapps
node_mobileproviders -->|"uses remote provider"| node_remoteandroid
node_remoteandroid -->|"loads settings"| node_configfactory
node_configfactory -->|"provides settings"| node_config
node_remoteandroid -.->|"creates session"| node_lambdatest
node_webtests -.->|"selects driver"| node_webprovider
node_webprovider -->|"loads settings"| node_configfactory
node_webprovider -.->|"creates session"| node_lambdatest
node_apitests -->|"invokes"| node_apiadapter
node_apitests -->|"supplies data"| node_request
node_apiadapter -->|"sends HTTP request"| node_service
node_apiadapter -->|"returns response"| node_response
node_webtests -.->|"reports results"| node_allure
node_mobiletests -.->|"reports results"| node_allure
node_apitests -.->|"reports results"| node_allure

click node_webpages "https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/pages"
click node_employee "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/EmployeeInformationPage.java"
click node_login "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/LoginPage.java"
click node_home "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/HomePage.java"
click node_reset "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/ResetPasswordPage.java"
click node_mobilepages "https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/screens"
click node_product "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/screens/ProductDetailsScreen.java"
click node_description "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/screens/ProductDescriptionScreen.java"
click node_apidemos "https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/screens/apidemos"
click node_apiadapter "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/api/UserApi.java"
click node_request "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/entity/requests/UserDetails.java"
click node_response "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/entity/response/CreateUserResponse.java"
click node_config "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/config/FrameworkConfig.java"
click node_configfactory "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/config/factory/ConfigFactory.java"
click node_mobileproviders "https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/provider/mobile"
click node_localapps "https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/provider/mobile/local"
click node_remoteandroid "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/mobile/remote/LambdaTestAndroidAppProvider.java"
click node_webprovider "https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/web/remote/LambdaTestChromeProvider.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_webpages,node_employee,node_login,node_home,node_reset,node_webprovider toneBlue
class node_mobilepages,node_product,node_description,node_apidemos,node_mobileproviders,node_localapps,node_remoteandroid toneAmber
class node_apiadapter,node_request,node_response,node_apitests,node_service toneMint
class node_config,node_configfactory,node_allure toneRose
class node_author,node_webtests,node_mobiletests,node_webapp,node_mobileapp,node_lambdatest toneIndigo
```

## Components

### Web automation

- [Web page objects](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/pages): `src/main/java/com/tmb/pages`
- [Employee workflow](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/EmployeeInformationPage.java): `src/main/java/com/tmb/pages/EmployeeInformationPage.java`
- [Login workflow](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/LoginPage.java): `src/main/java/com/tmb/pages/LoginPage.java`
- [Home navigation](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/HomePage.java): `src/main/java/com/tmb/pages/HomePage.java`
- [Password reset](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/pages/ResetPasswordPage.java): `src/main/java/com/tmb/pages/ResetPasswordPage.java`
- [LambdaTest Chrome](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/web/remote/LambdaTestChromeProvider.java): `src/main/java/com/tmb/provider/web/remote/LambdaTestChromeProvider.java`

### Mobile automation

- [Mobile screens](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/screens): `src/main/java/com/tmb/screens`
- [Product screens](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/screens/ProductDetailsScreen.java): `src/main/java/com/tmb/screens/ProductDetailsScreen.java`
- [Product description](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/screens/ProductDescriptionScreen.java): `src/main/java/com/tmb/screens/ProductDescriptionScreen.java`
- [API Demos screens](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/screens/apidemos): `src/main/java/com/tmb/screens/apidemos`
- [Mobile providers](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/provider/mobile): `src/main/java/com/tmb/provider/mobile`
- [Local app providers](https://github.com/amuthansakthivel/theoneframework/tree/main/src/main/java/com/tmb/provider/mobile/local): `src/main/java/com/tmb/provider/mobile/local`
- [LambdaTest Android](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/provider/mobile/remote/LambdaTestAndroidAppProvider.java): `src/main/java/com/tmb/provider/mobile/remote/LambdaTestAndroidAppProvider.java`

### API automation

- [User API adapter](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/api/UserApi.java): `src/main/java/com/tmb/api/UserApi.java`
- [User request model](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/entity/requests/UserDetails.java): `src/main/java/com/tmb/entity/requests/UserDetails.java`
- [Create response model](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/entity/response/CreateUserResponse.java): `src/main/java/com/tmb/entity/response/CreateUserResponse.java`

### Shared framework

- [Framework configuration](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/config/FrameworkConfig.java): `src/main/java/com/tmb/config/FrameworkConfig.java`
- [Config factory](https://github.com/amuthansakthivel/theoneframework/blob/main/src/main/java/com/tmb/config/factory/ConfigFactory.java): `src/main/java/com/tmb/config/factory/ConfigFactory.java`
- **Allure reporting**

### Other components

- **Test author**
- **Web tests**
- **Mobile tests**
- **API tests**
- **Web application**
- **Mobile application**
- **HTTP API service**
- **LambdaTest**

## Connections

- Test author → Web tests: writes tests
- Test author → Mobile tests: writes tests
- Test author → API tests: writes tests
- Web tests → Web page objects: invokes
- Web page objects → Web application: drives UI
- Employee workflow → Web application: fills and checks
- Login workflow → Web application: drives login
- Home navigation → Web application: navigates
- Password reset → Web application: drives reset
- Mobile tests → Mobile screens: invokes
- Mobile tests → Product screens: selects screen
- Product screens → Mobile application: drives UI
- Product description → Mobile application: checks UI
- API Demos screens → Mobile application: drives UI
- Mobile tests → Mobile providers: selects driver
- Mobile providers → Local app providers: uses local providers
- Mobile providers → LambdaTest Android: uses remote provider
- LambdaTest Android → Config factory: loads settings
- Config factory → Framework configuration: provides settings
- LambdaTest Android → LambdaTest: creates session
- Web tests → LambdaTest Chrome: selects driver
- LambdaTest Chrome → Config factory: loads settings
- LambdaTest Chrome → LambdaTest: creates session
- API tests → User API adapter: invokes
- API tests → User request model: supplies data
- User API adapter → HTTP API service: sends HTTP request
- User API adapter → Create response model: returns response
- Web tests → Allure reporting: reports results
- Mobile tests → Allure reporting: reports results
- API tests → Allure reporting: reports results
