Files
ctms/README.md
T
2026-03-31 09:16:41 +08:00

3.5 KiB
Raw Blame History

CTMS 项目快速上手

生产部署

  • 生产入口:docker-compose.yaml
  • 初始化方式:docker compose run --rm backend-init
  • 启动方式:docker compose up -d --build
  • 运行拓扑:nginxbackenddb
  • 对外入口:nginx 提供前端静态资源,并同域反代后端 API
  • 数据库 schema 来源:Alembic migration,不再依赖 database/init.sql
  • 默认无任何 demo 数据;生产初始化只确保固定管理员 admin@huapont.cn / admin123 存在
  • 验证方式:
    • docker compose config
    • curl -i http://127.0.0.1/
    • curl -i http://127.0.0.1/health

账号与注册

  • 初始化管理员:admin@huapont.cn / admin123(通过生产初始化命令显式创建)
  • 自助注册:前端 /register 提交邮箱、密码、姓名、角色(CRA/PV/IMP/PM)、部门,状态为 PENDING。
  • 管理员审核:/admin/user-approval 列表查看待审核,支持通过/拒绝;仅 ACTIVE 用户可登录。
  • 更多账号:管理员也可在 /admin/users 直接创建 ACTIVE 账号,再在项目成员中赋予角色。

角色权限概要(前端操作级提示,后端仍最终裁决)

  • ADMIN:全权限
  • PM:里程碑/任务维护、参与者状态、AE 创建/关闭、Issue 创建/关闭、Finance 创建/审批/支付、IMP 交易、FAQ 维护
  • CRA:任务/参与者/AE/Data Query 创建,参与者状态更新,Finance 创建/提交,其他只读
  • PVAE 创建/关闭,Issue 创建/关闭,其余只读
  • IMP:IMP 交易/产品/批次维护,其余只读
  • 普通成员(无项目角色):仅浏览

访问方式

  • 前端:http://localhost
  • 后端 API:同域 /api/v1/*
  • nginx 负责托管前端静态资源,并将 /api/health 转发到 backend

仓库治理文档

  • 分支治理规范:docs/branch-governance.md
  • 发布检查清单:docs/guides/release-checklist.md

本地配置

  • 本地编辑器配置(如 .vscode/)不纳入版本库。
  • 前端环境变量请使用 frontend/.env,可从 frontend/.env.example 复制。
  • 根目录 .env 不作为当前默认启动流程的提交配置文件。
  • Postman 本地环境请基于 docs/postman/local.postman_environment.example.json 自行复制,不提交个人环境文件。
  • 文档入口见 docs/README.md;当前操作手册集中在 docs/guides/,审计与治理文档集中在 docs/audits/

常用流程

  1. 用管理员账号登录前端(默认 admin@example.com / admin123)。
  2. 进入左侧导航「账号治理」「项目治理」进行用户、项目、中心等全局管理;或在“项目列表”选择项目后进入项目内工作区。
  3. Dashboard 查看进度、待办;左侧导航进入“里程碑”“任务”等页面。
  4. 退出登录或切换项目可通过顶部右侧下拉。

管理员全局治理(前端入口)

  • 账号治理:/admin/users(新建/编辑/启用禁用用户,重置密码需二次确认)
  • 项目治理:/admin/projects(创建/编辑项目,成员配置 PM/CRA,中心管理)
  • 中心管理:/admin/projects/:projectId/sites(中心创建/编辑、CRA 绑定、启用停用)

ADMIN 具备所有 PM 权限,项目内操作与 PM 同步放行。

注意

  • 登录使用邮箱 + 密码,未审核/已拒绝/已停用账号无法登录。
  • 令牌与当前项目上下文保存在浏览器 LocalStorage 中,清除后需重新登录/选择项目。
  • 若后端重启,确认数据库容器仍健康,前端会弹出错误提示。