[FEATURE] 用户注册功能 #1

Open
opened 2025-12-29 13:06:12 +08:00 by gao · 0 comments
Owner

[FEATURE] 用户注册功能

📋 Spec 文档

Spec 路径:specs/user-registration.md

Spec 状态:

  • Spec 已创建
  • Spec 已评审(示例)
  • 待正式评审批准

⚠️ 规则:没有 Spec 的 Issue,不允许进入开发


🎯 功能概述

一句话描述:

  • 实现用户通过邮箱 + 密码注册账户的功能

业务价值:

  • 支持多用户使用 ljwx-tiny 系统
  • 为后续登录、权限管理提供基础
  • 验证 ljwx 项目模板的完整闭环(作为 ljwx-tiny 验证项目)

✅ 验收标准(从 Spec 复制)

功能验收

  • 用户可通过前端表单成功注册
  • 注册成功后返回用户 ID、邮箱、用户名
  • 重复邮箱注册返回 409 错误
  • 邮箱格式错误返回 400 错误
  • 密码不显示在响应中

技术验收(ljwx DoD)

  • OpenAPI 文档已更新(POST /api/users/register)
  • Flyway 迁移脚本已创建并测试
  • 单元测试覆盖率 ≥ 80%(UserService 核心逻辑)
  • 集成测试至少一条 Happy Path(完整注册流程)
  • docker-compose 启动成功(后端 + 前端 + PostgreSQL)
  • helm template 无错误
  • K8s 冒烟测试通过(Pod Ready + 注册一个用户成功)

🔗 关联文档

  • Spec: specs/user-registration.md
  • OpenSpec Change: openspec/changes/20251228-user-registration/
  • Tasks: openspec/changes/20251228-user-registration/tasks.md
  • Proposal: openspec/changes/20251228-user-registration/proposal.md

🚧 风险与依赖

技术风险:

  • 并发注册风险:依赖数据库约束保证唯一性(已缓解)

外部依赖:

  • PostgreSQL:使用 ljwx infra namespace 统一 PostgreSQL

预计工时:

  • P0: 28.5 小时(15 个任务)
  • P1: 9.5 小时(5 个任务)
  • P2: 10.5 小时(6 个任务)

📊 GitHub Projects 状态

当前状态: Draft

状态流转规则:

Draft → Spec Ready → In Dev → In Test → Done

状态变更条件:

  • Draft → Spec Ready: Spec 评审通过
  • Spec Ready → In Dev: PR 开始
  • In Dev → In Test: CI 全绿
  • In Test → Done: 人工验收通过

📝 备注

这是 ljwx-tiny 项目的第一个功能 Issue,用于验证:

  • OpenSpec + GitHub Projects 完整工作流
  • Spec 驱动开发流程
  • AI 受控执行(根据 Spec 自动开发)

参考 7 天落地计划:docs/7-DAY-PLAN.md


创建时间: 2025-12-29
创建人: @brunogao
优先级: P0
标签: feature, user-registration, p0

# [FEATURE] 用户注册功能 ## 📋 Spec 文档 **Spec 路径**:`specs/user-registration.md` **Spec 状态**: - [x] Spec 已创建 - [x] Spec 已评审(示例) - [ ] 待正式评审批准 ⚠️ **规则**:没有 Spec 的 Issue,不允许进入开发 --- ## 🎯 功能概述 **一句话描述**: - 实现用户通过邮箱 + 密码注册账户的功能 **业务价值**: - 支持多用户使用 ljwx-tiny 系统 - 为后续登录、权限管理提供基础 - 验证 ljwx 项目模板的完整闭环(作为 ljwx-tiny 验证项目) --- ## ✅ 验收标准(从 Spec 复制) ### 功能验收 - [ ] 用户可通过前端表单成功注册 - [ ] 注册成功后返回用户 ID、邮箱、用户名 - [ ] 重复邮箱注册返回 409 错误 - [ ] 邮箱格式错误返回 400 错误 - [ ] 密码不显示在响应中 ### 技术验收(ljwx DoD) - [ ] OpenAPI 文档已更新(`POST /api/users/register`) - [ ] Flyway 迁移脚本已创建并测试 - [ ] 单元测试覆盖率 ≥ 80%(UserService 核心逻辑) - [ ] 集成测试至少一条 Happy Path(完整注册流程) - [ ] docker-compose 启动成功(后端 + 前端 + PostgreSQL) - [ ] helm template 无错误 - [ ] K8s 冒烟测试通过(Pod Ready + 注册一个用户成功) --- ## 🔗 关联文档 - **Spec**: `specs/user-registration.md` - **OpenSpec Change**: `openspec/changes/20251228-user-registration/` - **Tasks**: `openspec/changes/20251228-user-registration/tasks.md` - **Proposal**: `openspec/changes/20251228-user-registration/proposal.md` --- ## 🚧 风险与依赖 **技术风险**: - 并发注册风险:依赖数据库约束保证唯一性(已缓解) **外部依赖**: - PostgreSQL:使用 ljwx infra namespace 统一 PostgreSQL **预计工时**: - P0: 28.5 小时(15 个任务) - P1: 9.5 小时(5 个任务) - P2: 10.5 小时(6 个任务) --- ## 📊 GitHub Projects 状态 **当前状态**: Draft **状态流转规则**: ``` Draft → Spec Ready → In Dev → In Test → Done ``` **状态变更条件**: - **Draft → Spec Ready**: Spec 评审通过 - **Spec Ready → In Dev**: PR 开始 - **In Dev → In Test**: CI 全绿 - **In Test → Done**: 人工验收通过 --- ## 📝 备注 这是 ljwx-tiny 项目的第一个功能 Issue,用于验证: - OpenSpec + GitHub Projects 完整工作流 - Spec 驱动开发流程 - AI 受控执行(根据 Spec 自动开发) 参考 7 天落地计划:`docs/7-DAY-PLAN.md` --- **创建时间**: 2025-12-29 **创建人**: @brunogao **优先级**: P0 **标签**: feature, user-registration, p0
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gao/ljwx-tiny#1