Skip to content

Commit 1370f71

Browse files
committed
docs: add real collaboration platform screenshots
1 parent 6f52e4e commit 1370f71

7 files changed

Lines changed: 47 additions & 12 deletions

File tree

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This project was extracted from an industrial safety-vision workflow. It uses on
1515

1616
## Pre-generated showcase
1717

18-
No GPU or live command is needed to inspect these results. Analytical report screenshots use committed synthetic fixtures; the grouped-review gallery uses real, user-approved production review samples to show the actual operating experience. Screenshots demonstrate behavior and report structure, not model accuracy claims.
18+
No GPU or live command is needed to inspect these results. Analytical report screenshots use committed synthetic fixtures; the grouped-review gallery and web-platform captures use real, user-approved production review samples to show the actual operating experience. Screenshots demonstrate behavior and report structure, not model accuracy claims.
1919

2020
### Model-free dataset audit
2121

@@ -84,6 +84,15 @@ See [Grouped Review Application](docs/GROUPED_REVIEW_APP.md) for the queue contr
8484

8585
The repository now includes a deployable web platform for teams that outgrow the portable desktop reviewer. A Vue 3 + TypeScript client talks to a Spring Boot 4 REST API backed by MySQL and Flyway. JWT authentication, `ADMIN / REVIEWER / AUDITOR` RBAC, project membership, pessimistic task claiming, renewable leases, optimistic versions and immutable audit events prevent duplicate work and stale decisions. The Python bridge streams the existing `review_queue.csv` into the API in bounded, idempotent batches.
8686

87+
![Running multi-user review workspace with a real GT/AUTO review image](docs/assets/platform-review-workspace.png)
88+
89+
<p>
90+
<img src="docs/assets/platform-login.png" width="49%" alt="Role-aware login screen">
91+
<img src="docs/assets/platform-admin-console.png" width="49%" alt="Administrator account and project-member management">
92+
</p>
93+
94+
These are captures of the actual Vue + Spring Boot application running against seeded local collaboration data, not design mockups. The workspace shows a claimed task, real review visual, class confidence, constrained decisions and live project progress; the admin view demonstrates account creation and project membership assignment.
95+
8796
```mermaid
8897
flowchart LR
8998
P["Python Multi-Teacher pipeline"] -->|"review_queue.csv / batches <= 500"| A["Spring Boot API"]

README.zh-CN.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
## 预生成展示结果
1717

18-
查看以下结果不需要 GPU 或现场执行命令。分析报告截图来自仓库内置合成数据;按图片聚合审核图库使用已获许可的真实生产审核样例,用于展示实际工作体验。所有截图都只说明工具行为和报告结构,不构成模型精度声明。
18+
查看以下结果不需要 GPU 或现场执行命令。分析报告截图来自仓库内置合成数据;按图片聚合审核图库和 Web 平台运行截图使用已获许可的真实生产审核样例,用于展示实际工作体验。所有截图都只说明工具行为和报告结构,不构成模型精度声明。
1919

2020
### 无模型数据集审计
2121

@@ -84,6 +84,15 @@
8484

8585
当便携式桌面审核器无法满足多人并行工作时,可以启用仓库内的 Web 协作平台。Vue 3 + TypeScript 前端连接 Spring Boot 4 REST API,使用 MySQL + Flyway 持久化;JWT 登录、`ADMIN / REVIEWER / AUDITOR` 角色、项目成员隔离、悲观锁原子领任务、可续租心跳、乐观版本号和不可变审计事件共同防止重复审核与旧页面覆盖。Python 桥接脚本会把现有 `review_queue.csv` 以有界、幂等批次流式导入。
8686

87+
![真实 GT/AUTO 审核图驱动的多人协作工作台](docs/assets/platform-review-workspace.png)
88+
89+
<p>
90+
<img src="docs/assets/platform-login.png" width="49%" alt="支持角色权限的登录界面">
91+
<img src="docs/assets/platform-admin-console.png" width="49%" alt="管理员账号创建与项目成员分配界面">
92+
</p>
93+
94+
以上均为 Vue + Spring Boot 应用连接本地演示协作数据后的真实运行截图,不是设计示意图。工作台同时展示已领取任务、真实审核图、类别置信度、受约束决策按钮和项目实时进度;管理员界面展示账号创建与项目成员分配能力。
95+
8796
```mermaid
8897
flowchart LR
8998
P["Python Multi-Teacher 流水线"] -->|"review_queue.csv / 每批不超过 500"| A["Spring Boot API"]

docs/COLLABORATION_PLATFORM.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,20 @@ The original Tk reviewer remains the best zero-dependency choice for one reviewe
66

77
原有 Tk 审核器仍适合单人、离线和拷贝即用场景。多人并行后会新增四类风险:重复领取、旧页面覆盖、跨项目越权和责任不可追溯。Web 协作层只负责账号、任务与决策,不取代 Python 推理、GT/AUTO 枚举和最终派生数据集生成。
88

9-
## 2. Architecture / 架构
9+
## 2. Running interface / 真实运行界面
10+
11+
![Multi-user workspace with a claimed task and real review image](assets/platform-review-workspace.png)
12+
13+
<p>
14+
<img src="assets/platform-login.png" width="49%" alt="Login and role entry">
15+
<img src="assets/platform-admin-console.png" width="49%" alt="Admin account and membership management">
16+
</p>
17+
18+
The screenshots above were captured from the actual Vue and Spring Boot services with seeded local collaboration records. They demonstrate the real login flow, project progress, atomic task claim, read-only review visual delivery, constrained decisions, account creation and member assignment. They are not UI mockups.
19+
20+
以上截图由真实运行的 Vue 与 Spring Boot 服务生成,并加载了本地演示协作记录。截图覆盖登录、项目进度、原子领取任务、只读审核图加载、受约束决策、账号创建和成员分配,不是界面示意图。
21+
22+
## 3. Architecture / 架构
1023

1124
```mermaid
1225
flowchart TB
@@ -31,7 +44,7 @@ flowchart TB
3144
| Persistence | MySQL 8.4, JPA, Flyway | Users, projects, memberships, tasks, decisions, schema migrations |
3245
| Delivery | Docker Compose, Nginx | One-command three-service deployment and same-origin API proxy |
3346

34-
## 3. Authorization model / 权限模型
47+
## 4. Authorization model / 权限模型
3548

3649
Authentication and authorization are separate.
3750

@@ -43,7 +56,7 @@ Authentication and authorization are separate.
4356

4457
权限采用两层模型:角色决定“能做什么”,项目成员关系决定“能在哪个项目做”。即使知道任务 ID,未加入项目的账号也无法读取审核图。
4558

46-
## 4. Concurrency and correctness / 并发与正确性
59+
## 5. Concurrency and correctness / 并发与正确性
4760

4861
### Atomic claim / 原子领取
4962

@@ -61,7 +74,7 @@ Every task carries JPA `@Version`. The client submits `expectedVersion` with a d
6174

6275
`(project_id, candidate_id)` is unique, so importing the same queue again safely skips existing candidates. `review_decisions.task_id` is also unique, so one task cannot obtain two final decisions even if a client retries.
6376

64-
## 5. State and data model / 状态与数据模型
77+
## 6. State and data model / 状态与数据模型
6578

6679
```mermaid
6780
stateDiagram-v2
@@ -75,7 +88,7 @@ stateDiagram-v2
7588

7689
Core tables are `app_users`, `review_projects`, `project_members`, `review_tasks`, `review_decisions` and `audit_events`. Flyway owns schema evolution; Hibernate validates rather than mutates the production schema.
7790

78-
## 6. Run with Docker Compose / Docker 一键运行
91+
## 7. Run with Docker Compose / Docker 一键运行
7992

8093
```powershell
8194
cd platform
@@ -90,7 +103,7 @@ docker compose up -d --build
90103

91104
Open `http://localhost:8088`. The bootstrap admin is created only when the configured username does not already exist.
92105

93-
## 7. Import an existing queue / 导入现有审核队列
106+
## 8. Import an existing queue / 导入现有审核队列
94107

95108
The queue must contain `candidate_id`, `split`, `image_name`, `class_name`, `conf`, `case_code`, `recommended_action` and `visual_file`. `visual_file` must be relative to the mounted review package root.
96109

@@ -108,7 +121,7 @@ The importer reads one CSV row at a time and uploads at most 500 rows per reques
108121

109122
After creating reviewer accounts in the admin drawer, assign each username to the selected project. Reviewers then see only their assigned projects.
110123

111-
## 8. Local development / 本地开发
124+
## 9. Local development / 本地开发
112125

113126
```powershell
114127
# Backend
@@ -124,7 +137,7 @@ npm run dev
124137

125138
The Vite development server proxies `/api` to `localhost:8080`. Tests use H2 in MySQL compatibility mode; production uses MySQL and Flyway.
126139

127-
## 9. API surface / 主要接口
140+
## 10. API surface / 主要接口
128141

129142
| Method | Path | Meaning |
130143
|---|---|---|
@@ -138,7 +151,7 @@ The Vite development server proxies `/api` to `localhost:8080`. Tests use H2 in
138151
| GET | `/api/tasks/{id}/visual` | Read an authorized real review image |
139152
| GET | `/api/projects/{id}/audit` | Read project audit trail, admin/auditor |
140153

141-
## 10. Interview walkthrough / 面试讲解顺序
154+
## 11. Interview walkthrough / 面试讲解顺序
142155

143156
1. Start from the data problem: incomplete labels make true objects become false background supervision.
144157
2. Explain why offline inference and online review are separated: GPU jobs are expensive and bursty; human review is concurrent and stateful.
@@ -147,6 +160,6 @@ The Vite development server proxies `/api` to `localhost:8080`. Tests use H2 in
147160
5. Show bounded idempotent import and read-only visual mounts as memory-safety and data-safety decisions.
148161
6. Close with evidence: production queue scale, real grouped images, automated Java/Python tests and reproducible Docker deployment.
149162

150-
## 11. Production hardening / 生产加固
163+
## 12. Production hardening / 生产加固
151164

152165
Before exposing the service beyond a trusted LAN, terminate TLS at a reverse proxy, rotate JWT/database secrets, disable bootstrap admin after first setup, back up MySQL, centralize logs and metrics, and define account disable/password-reset procedures. Docker Compose is an auditable single-host baseline; Kubernetes or managed databases are deployment choices, not prerequisites for the core workflow.
588 KB
Loading

docs/assets/platform-login.png

352 KB
Loading
655 KB
Loading

platform/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ This directory turns the offline review queue into a multi-user web workflow:
99
- `tools/import_review_queue.py`: bounded, idempotent bridge from `review_queue.csv`.
1010
- `docker-compose.yml`: MySQL, API and Nginx-hosted frontend.
1111

12+
![Running review workspace](../docs/assets/platform-review-workspace.png)
13+
14+
The image above is a capture of the running application with a real review visual and seeded collaboration records, not a mockup. Additional login and administration screenshots are available in [COLLABORATION_PLATFORM.md](../docs/COLLABORATION_PLATFORM.md).
15+
1216
```powershell
1317
cd platform
1418
Copy-Item .env.example .env

0 commit comments

Comments
 (0)