# tejeswararao8/worksuite architecture

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

- Interactive diagram: https://gitdiagram.com/tejeswararao8/worksuite
- Repository: https://github.com/tejeswararao8/worksuite

## Overview

HRMS Platform is a multi-tenant human-resources system for managing employee records and the employee lifecycle. Users enter through the React application, authenticate, and use routed pages to manage people, organization structure, lifecycle workflows, and HR operations; frontend API services send requests to the Spring REST backend. The backend follows controller–service–repository layers and persists tenant-scoped domain records. The README documents additional capabilities, including RBAC, audit, reports, dashboard, document expiry, and S3 storage. Some frontend and backend modules were not sampled, so their internal call paths are not asserted.

Main entry points: [`hrms-frontend/src/api/services.js`](https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/api/services.js) (API services), [`hrms-frontend/src/App.js`](https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/App.js) (Routes and shell), [`hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java`](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java) (Authentication service), [`hrms-platform/src/main/java/com/hrms`](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms) (Lifecycle workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web application"]
  node_app["Routes and shell<br/>[App.js]"]
  node_people_ui["People and org pages"]
  node_lifecycle_ui["Lifecycle pages"]
  node_ops_ui["Operations pages"]
  node_api_services["API services<br/>[services.js]"]
  node_axios["HTTP client<br/>[axios.js]"]
end

subgraph group_identity["Identity and access"]
  node_auth["Authentication service<br/>[AuthService.java]"]
  node_user_accounts[("User accounts")]
  node_rbac[("Roles and permissions")]
end

subgraph group_people["People and organization"]
  node_employee[("Employee records<br/>[Employee.java]")]
  node_employee_repo["Employee repository"]
  node_org[("Organization structure")]
end

subgraph group_lifecycle["Employee lifecycle"]
  node_lifecycle_services["Lifecycle workflows"]
  node_transfer_service["Transfer workflow"]
  node_offboarding_service["Offboarding checklist"]
end

subgraph group_operations["HR operations"]
  node_documents["Documents and expiry"]
  node_assets["Asset management"]
  node_insights["Dashboard and reports"]
  node_audit_notify["Audit and notifications"]
  node_storage["S3 file storage"]
end

node_user(("HR user"))

node_user -.->|"uses"| node_app
node_app -->|"routes to"| node_people_ui
node_app -->|"routes to"| node_lifecycle_ui
node_app -->|"routes to"| node_ops_ui
node_people_ui -.->|"requests data"| node_api_services
node_lifecycle_ui -.->|"requests data"| node_api_services
node_ops_ui -.->|"requests data"| node_api_services
node_api_services -->|"sends requests"| node_axios
node_axios -.->|"calls REST API"| node_auth
node_auth -->|"reads and saves"| node_user_accounts
node_auth -.->|"issues role claims"| node_rbac
node_api_services -.->|"manages employees"| node_employee
node_api_services -.->|"manages organization"| node_org
node_api_services -.->|"manages workflows"| node_lifecycle_services
node_api_services -.->|"manages documents"| node_documents
node_api_services -.->|"manages assets"| node_assets
node_api_services -.->|"requests summaries"| node_insights
node_api_services -.->|"requests records"| node_audit_notify
node_transfer_service -->|"reads employee"| node_employee_repo
node_transfer_service -->|"updates employee"| node_employee_repo
node_offboarding_service -->|"checks employee"| node_employee_repo
node_lifecycle_services -.->|"includes"| node_transfer_service
node_lifecycle_services -.->|"includes"| node_offboarding_service
node_documents -.->|"stores files"| node_storage

click node_app "https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/App.js"
click node_people_ui "https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages"
click node_lifecycle_ui "https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages"
click node_ops_ui "https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages"
click node_api_services "https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/api/services.js"
click node_axios "https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/api/axios.js"
click node_auth "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java"
click node_user_accounts "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/user"
click node_rbac "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/role"
click node_employee "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/employee/entity/Employee.java"
click node_employee_repo "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/employee/repository/EmployeeRepository.java"
click node_org "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/department"
click node_lifecycle_services "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms"
click node_transfer_service "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java"
click node_offboarding_service "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/offboarding/service/OffboardingService.java"
click node_documents "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/document"
click node_assets "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/asset"
click node_insights "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms"
click node_audit_notify "https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms"
click node_storage "https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/infrastructure/storage/S3StorageService.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_app,node_people_ui,node_lifecycle_ui,node_ops_ui,node_api_services,node_axios,node_user toneBlue
class node_auth,node_user_accounts,node_rbac toneAmber
class node_employee,node_employee_repo,node_org toneMint
class node_lifecycle_services,node_transfer_service,node_offboarding_service toneRose
class node_documents,node_assets,node_insights,node_audit_notify,node_storage toneIndigo
```

## Components

### Web application

- [Routes and shell](https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/App.js): `hrms-frontend/src/App.js`
- [People and org pages](https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages): `hrms-frontend/src/pages`
- [Lifecycle pages](https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages): `hrms-frontend/src/pages`
- [Operations pages](https://github.com/tejeswararao8/worksuite/tree/main/hrms-frontend/src/pages): `hrms-frontend/src/pages`
- [API services](https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/api/services.js): `hrms-frontend/src/api/services.js`
- [HTTP client](https://github.com/tejeswararao8/worksuite/blob/main/hrms-frontend/src/api/axios.js): `hrms-frontend/src/api/axios.js`

### Identity and access

- [Authentication service](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java): `hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java`
- [User accounts](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/user): `hrms-platform/src/main/java/com/hrms/user`
- [Roles and permissions](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/role): `hrms-platform/src/main/java/com/hrms/role`

### People and organization

- [Employee records](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/employee/entity/Employee.java): `hrms-platform/src/main/java/com/hrms/employee/entity/Employee.java`
- [Employee repository](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/employee/repository/EmployeeRepository.java): `hrms-platform/src/main/java/com/hrms/employee/repository/EmployeeRepository.java`
- [Organization structure](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/department): `hrms-platform/src/main/java/com/hrms/department`

### Employee lifecycle

- [Lifecycle workflows](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms): `hrms-platform/src/main/java/com/hrms`
- [Transfer workflow](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java): `hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java`
- [Offboarding checklist](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/offboarding/service/OffboardingService.java): `hrms-platform/src/main/java/com/hrms/offboarding/service/OffboardingService.java`

### HR operations

- [Documents and expiry](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/document): `hrms-platform/src/main/java/com/hrms/document`
- [Asset management](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms/asset): `hrms-platform/src/main/java/com/hrms/asset`
- [Dashboard and reports](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms): `hrms-platform/src/main/java/com/hrms`
- [Audit and notifications](https://github.com/tejeswararao8/worksuite/tree/main/hrms-platform/src/main/java/com/hrms): `hrms-platform/src/main/java/com/hrms`
- [S3 file storage](https://github.com/tejeswararao8/worksuite/blob/main/hrms-platform/src/main/java/com/hrms/infrastructure/storage/S3StorageService.java): `hrms-platform/src/main/java/com/hrms/infrastructure/storage/S3StorageService.java`

### Other components

- **HR user**

## Connections

- HR user → Routes and shell: uses
- Routes and shell → People and org pages: routes to (evidence: `hrms-frontend/src/App.js`)
- Routes and shell → Lifecycle pages: routes to (evidence: `hrms-frontend/src/App.js`)
- Routes and shell → Operations pages: routes to (evidence: `hrms-frontend/src/App.js`)
- People and org pages → API services: requests data
- Lifecycle pages → API services: requests data
- Operations pages → API services: requests data
- API services → HTTP client: sends requests (evidence: `hrms-frontend/src/api/services.js`)
- HTTP client → Authentication service: calls REST API
- Authentication service → User accounts: reads and saves (evidence: `hrms-platform/src/main/java/com/hrms/auth/service/AuthService.java`)
- Authentication service → Roles and permissions: issues role claims
- API services → Employee records: manages employees
- API services → Organization structure: manages organization
- API services → Lifecycle workflows: manages workflows
- API services → Documents and expiry: manages documents
- API services → Asset management: manages assets
- API services → Dashboard and reports: requests summaries
- API services → Audit and notifications: requests records
- Transfer workflow → Employee repository: reads employee (evidence: `hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java`)
- Transfer workflow → Employee repository: updates employee (evidence: `hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java`)
- Offboarding checklist → Employee repository: checks employee (evidence: `hrms-platform/src/main/java/com/hrms/offboarding/service/OffboardingService.java`)
- Lifecycle workflows → Transfer workflow: includes (evidence: `hrms-platform/src/main/java/com/hrms/transfer/service/TransferService.java`)
- Lifecycle workflows → Offboarding checklist: includes (evidence: `hrms-platform/src/main/java/com/hrms/offboarding/service/OffboardingService.java`)
- Documents and expiry → S3 file storage: stores files
