# doom1817/rpa_mange architecture

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

- Interactive diagram: https://gitdiagram.com/doom1817/rpa_mange
- Repository: https://github.com/doom1817/rpa_mange

## Overview

This is a Spring-based RPA backend exposing APIs for authentication, user/role permissions, data handling, process design, robots, tasks, and executions. The intended automation lifecycle is represented by collection, parsing, processing, and query domains alongside process/robot/task/execution management; the available excerpts do not establish a sequential handoff between those stages. Sampled controllers delegate to services, and sampled auth/query implementations use persistence mappers and Redis where shown. Other subsystem links are limited to the tree, so their internal wiring is not inferred; the README is empty.

Main entry points: [`rpa-core/src/main/java/com/doom/rpacore/service/impl/AuthServiceImpl.java`](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/AuthServiceImpl.java) (Authentication service), [`rpa-core/src/main/java/com/doom/rpacore/service/impl/QueryServiceImpl.java`](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/QueryServiceImpl.java) (Query service), [`rpa-api/src/main/java/com/doom/rpaapi/controller/auth/AuthController.java`](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/auth/AuthController.java) (Authentication API), [`rpa-api/src/main/java/com/doom/rpaapi/controller/system/RoleController.java`](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/system/RoleController.java) (Access APIs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API layer"]
  node_auth_api["Authentication API"]
  node_access_api["Access APIs"]
  node_user_api["User API"]
  node_process_api["Process API"]
  node_robot_api["Robot API"]
  node_query_api["Query API"]
end

subgraph group_identity["Identity and access"]
  node_auth_service["Authentication service"]
  node_role_service["Role service<br/>[RoleService.java]"]
  node_user_service["User service<br/>[UserService.java]"]
  node_account_data["Account and access data<br/>[SysUser.java]"]
end

subgraph group_automation["Automation control"]
  node_process_service["Process service"]
  node_robot_service["Robot service<br/>[RobotService.java]"]
  node_task_service["Task service<br/>[TaskService.java]"]
  node_execution_service["Execution service"]
  node_script_engine["Groovy script engine"]
end

subgraph group_data["Data operations"]
  node_collection["Data collection"]
  node_parsing["Data parsing"]
  node_processing["Data processing"]
  node_query_service["Query service"]
  node_query_data["Query records<br/>[RpaDataQuery.java]"]
end

node_operator(("API client"))
node_database[("Relational database")]
node_redis[("Redis token store")]

node_operator -->|"requests"| node_auth_api
node_operator -->|"requests"| node_access_api
node_operator -->|"requests"| node_user_api
node_operator -->|"requests"| node_process_api
node_operator -->|"requests"| node_robot_api
node_operator -->|"requests"| node_query_api
node_auth_api -->|"calls"| node_auth_service
node_access_api -->|"calls"| node_role_service
node_user_api -->|"calls"| node_user_service
node_process_api -->|"calls"| node_process_service
node_robot_api -->|"calls"| node_robot_service
node_query_api -->|"calls"| node_query_service
node_auth_service -->|"reads/writes"| node_account_data
node_auth_service -->|"persists users"| node_database
node_auth_service -->|"stores token keys"| node_redis
node_query_service -->|"queries"| node_query_data
node_query_service -->|"reads/writes"| node_database

click node_auth_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/auth/AuthController.java"
click node_access_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/system/RoleController.java"
click node_user_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/system/UserController.java"
click node_process_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/task/ProcessController.java"
click node_robot_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/task/RobotController.java"
click node_query_api "https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/data/QueryController.java"
click node_auth_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/AuthServiceImpl.java"
click node_role_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/RoleService.java"
click node_user_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/UserService.java"
click node_account_data "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/domain/entity/system/SysUser.java"
click node_process_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ProcessService.java"
click node_robot_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/RobotService.java"
click node_task_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/TaskService.java"
click node_execution_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ExecutionService.java"
click node_script_engine "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/engine/LocalScriptEngine.java"
click node_collection "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/CollectionService.java"
click node_parsing "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ParsingService.java"
click node_processing "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ProcessingService.java"
click node_query_service "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/QueryServiceImpl.java"
click node_query_data "https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/domain/entity/data/RpaDataQuery.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_auth_api,node_access_api,node_user_api,node_process_api,node_robot_api,node_query_api,node_operator toneBlue
class node_auth_service,node_role_service,node_user_service,node_account_data,node_database,node_redis toneAmber
class node_process_service,node_robot_service,node_task_service,node_execution_service,node_script_engine toneMint
class node_collection,node_parsing,node_processing,node_query_service,node_query_data toneRose
```

## Components

### API layer

- [Authentication API](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/auth/AuthController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/auth/AuthController.java`
- [Access APIs](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/system/RoleController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/system/RoleController.java`
- [User API](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/system/UserController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/system/UserController.java`
- [Process API](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/task/ProcessController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/task/ProcessController.java`
- [Robot API](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/task/RobotController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/task/RobotController.java`
- [Query API](https://github.com/doom1817/rpa_mange/blob/simple/rpa-api/src/main/java/com/doom/rpaapi/controller/data/QueryController.java): `rpa-api/src/main/java/com/doom/rpaapi/controller/data/QueryController.java`

### Identity and access

- [Authentication service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/AuthServiceImpl.java): `rpa-core/src/main/java/com/doom/rpacore/service/impl/AuthServiceImpl.java`
- [Role service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/RoleService.java): `rpa-core/src/main/java/com/doom/rpacore/service/RoleService.java`
- [User service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/UserService.java): `rpa-core/src/main/java/com/doom/rpacore/service/UserService.java`
- [Account and access data](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/domain/entity/system/SysUser.java): `rpa-core/src/main/java/com/doom/rpacore/domain/entity/system/SysUser.java`

### Automation control

- [Process service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ProcessService.java): `rpa-core/src/main/java/com/doom/rpacore/service/ProcessService.java`
- [Robot service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/RobotService.java): `rpa-core/src/main/java/com/doom/rpacore/service/RobotService.java`
- [Task service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/TaskService.java): `rpa-core/src/main/java/com/doom/rpacore/service/TaskService.java`
- [Execution service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ExecutionService.java): `rpa-core/src/main/java/com/doom/rpacore/service/ExecutionService.java`
- [Groovy script engine](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/engine/LocalScriptEngine.java): `rpa-core/src/main/java/com/doom/rpacore/engine/LocalScriptEngine.java`

### Data operations

- [Data collection](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/CollectionService.java): `rpa-core/src/main/java/com/doom/rpacore/service/CollectionService.java`
- [Data parsing](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ParsingService.java): `rpa-core/src/main/java/com/doom/rpacore/service/ParsingService.java`
- [Data processing](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/ProcessingService.java): `rpa-core/src/main/java/com/doom/rpacore/service/ProcessingService.java`
- [Query service](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/service/impl/QueryServiceImpl.java): `rpa-core/src/main/java/com/doom/rpacore/service/impl/QueryServiceImpl.java`
- [Query records](https://github.com/doom1817/rpa_mange/blob/simple/rpa-core/src/main/java/com/doom/rpacore/domain/entity/data/RpaDataQuery.java): `rpa-core/src/main/java/com/doom/rpacore/domain/entity/data/RpaDataQuery.java`

### Other components

- **API client**
- **Relational database**
- **Redis token store**

## Connections

- API client → Authentication API: requests
- API client → Access APIs: requests
- API client → User API: requests
- API client → Process API: requests
- API client → Robot API: requests
- API client → Query API: requests
- Authentication API → Authentication service: calls
- Access APIs → Role service: calls
- User API → User service: calls
- Process API → Process service: calls
- Robot API → Robot service: calls
- Query API → Query service: calls
- Authentication service → Account and access data: reads/writes
- Authentication service → Relational database: persists users
- Authentication service → Redis token store: stores token keys
- Query service → Query records: queries
- Query service → Relational database: reads/writes
