cven-task-demo
项目摘要
cven-task-demo 是面向招聘沟通的公开全栈演示站。系统使用完全合成的数据,覆盖资产概览、工作流与任务检索、详情追踪、表级上下游血缘和异步 AI 建表文档。项目独立构建、独立部署,不连接任何原公司系统、接口或数据库。
作者职责
- 需求拆解、产品范围和公开边界定义。
- 信息架构、页面状态和交互流程设计。
- Next.js 前端、FastAPI 后端与 MySQL 数据模型实现。
- 异步任务、健康检查、质量门禁和容器发布链路设计。
- 公开内容脱敏、演示数据重置和故障降级路径维护。
演示说明
演示环境仅处理预置的合成工作流、任务、库表、数据集和 AI 结果。页面不提供真实文件导入、外部工作流同步、生产调度、数据库备份或公司接口访问能力。可写操作被限制在独立演示数据范围内,并具备受控重置机制。
问题背景
复杂工程能力很难通过静态截图或技术关键词证明。该项目把数据研发资产管理中的通用问题重新抽象为一套可公开操作的系统,使访问者能够验证检索、关联、血缘、DDL 和异步任务等完整流程,同时避免真实业务环境暴露。
产品范围
首版包含资产概览、工作流、任务、数据集、表级血缘、DDL 和建表文档。系统明确排除真实数据接入、远程查询、生产调度、任意文件上传、企业账号体系和生产后台管理。
系统架构
前端使用 Next.js App Router、TypeScript、Tailwind CSS 和 shadcn/ui。后端使用 FastAPI、SQLAlchemy 2、Pydantic 与 Alembic。MySQL 8 保存演示资产和异步任务状态,独立 worker 处理建表文档任务。Docker Compose 负责服务编排,宿主机 Nginx 提供同源 HTTPS 入口。
数据与接口边界
所有业务实体均使用公开场景重新命名和构造。接口只读取独立演示数据库,不包含真实域名、表名、项目编码、账号、Cookie、Token 或生产配置。前端不会直接请求原系统,也不在运行时探测其他站点的健康状态。
关键设计决策
- 使用独立仓库与独立数据库,隔离发布节奏和故障域。
- 使用 MySQL 持久化任务表和独立 worker,避免为低并发演示引入额外消息中间件。
- 血缘图同时提供关系表,确保移动端、键盘操作和图形不可用时仍可读取。
- 预览和生产提升同一 commit 镜像,避免验收后重新构建导致制品漂移。
AI 协作
AI 用于需求拆分、代码分析、实现草稿和故障定位。作者负责边界定义、架构取舍、代码审查、测试设计、运行验证和最终发布。所有生成结果必须通过类型检查、测试、静态扫描、构建与运行证据验证。
质量与安全
仓库执行 Python 与 Node 质量检查、敏感信息扫描、数据库迁移验证、容器健康检查和 HTTP 冒烟。公开构建不包含真实环境变量、证书、数据库备份、日志或上传文件。外部演示入口使用 HTTPS,并与 Lab 展示站保持独立故障域。
部署边界
CNB 按完整 Git commit 构建不可变镜像。Docker Compose 运行前端、后端和 worker,应用端口只绑定宿主机回环地址。Nginx 处理 HTTPS、安全头和同源 API 代理。发布流程保留上一稳定 commit,健康或冒烟失败时恢复上一镜像。
已知限制
- 数据量和并发规模用于现场演示,不代表生产容量。
- AI 结果来自受控演示流程,不执行任意外部模型调用。
- 公开环境不提供真实数据导入、生产调度和企业权限体系。
后续演进
继续补充脱敏截图、架构图和备用演示视频,并在不扩大公开数据边界的前提下完善案例证据。