数据实体设计
文档目的
这份文档用于定义当前项目中最核心的数据实体,以及这些实体之间的关系。
这里不是数据库 DDL,而是领域实体层设计,重点是统一业务理解。
一、学员 Student
作用
表示当前使用学习服务的用户主体。
核心字段
idnameavatarlevelcurrentCourseclassNamemembershipStatusmembershipExpireAt
主要关联
- 一个学员可以拥有多个已报名课程
- 一个学员可以拥有多个作业记录
- 一个学员可以拥有多个通知消息
- 一个学员可以报名多个活动
- 一个学员可以拥有多个订单
二、课程 Course
作用
表示课程目录中的标准课程产品。
核心字段
idnametypedurationpricebenefitsummaryteacherclassTypeclassScheduleclassroomstatus
主要关联
- 一个课程包含多个 lesson
- 一个课程包含多个 assessment
- 一个课程可以被多个学员报名
- 一个课程可以对应多个订单
三、已报名课程 Enrollment
作用
表示“学员与课程”的实际服务关系。
核心字段
idstudentIdcourseIdcourseNameclassNameteacherclassroomserviceStatuslessonProgressclassInfo
说明
正式项目里,Course 和 Enrollment 应明确区分:
Course是目录产品Enrollment是实际报名与服务交付记录
四、课程单元 Lesson
作用
表示课程中的单次课时或单元内容。
核心字段
idcourseIdtitledateKeystartTimeendTimestatusteacherclassroomoutlinevocabgrammar
主要关联
- lesson 属于某个课程
- lesson 可以关联作业
- lesson 可以关联教师反馈
五、测评 Assessment
作用
表示阶段测评、小测或课程考核记录。
核心字段
idcourseIdtitletypedatescoresummaryfeedback
主要关联
- assessment 属于某个课程
- assessment 可以汇入学员成长记录
六、作业 Homework
作用
表示学员在 lesson 或任务流程中的作业内容与提交记录。
核心字段
idstudentIdcourseIdlessonIdtitlestatussubmissionTypesubmittedAtscorefeedback
说明
正式项目中可将“作业定义”和“作业提交记录”拆分为:
HomeworkTemplateHomeworkSubmission
当前文档阶段先统一以 Homework 理解。
七、通知 Notification
作用
表示系统、教师、任务、活动等消息提醒。
核心字段
idstudentIdtitletypecategorysendersummarytimetagsimportantread
八、活动 Activity
作用
表示线下或线上活动。
核心字段
idtitlesummarydatelocationstatuscapacitysignedUpCount
主要关联
- 活动可以被多个学员报名
- 活动报名状态会影响通知与课表展示
九、订单 Order
作用
表示课程购买、会员购买等交易记录。
核心字段
idstudentIdbusinessTypetargetIdcourseNameclassNameteacherpricebenefitstatuspaymentStatuscreatedAt
十、会员 Membership
作用
表示学员的会员权益状态与可购买套餐。
核心字段
idstudentIdplanNamestatusexpireAtbenefits
十一、成长记录 GrowthRecord
作用
表示学员学习成长相关的综合数据。
核心字段
studentIdscoreTrendskillRadarpreviousSkillRadarmilestonesteacherSnapshotassessments
十二、实体关系概览
可以先按下面关系理解:
Student1 -> NEnrollmentCourse1 -> NLessonCourse1 -> NAssessmentStudent1 -> NHomeworkStudent1 -> NNotificationStudentN <-> NActivityStudent1 -> NOrderStudent1 -> 1MembershipStudent1 -> 1GrowthRecord
十三、当前范围
后续正式开发时,可先稳定以下实体:
StudentCourseEnrollmentLessonAssessmentNotificationActivityOrder
这些实体稳定后,前端、后台、后端可围绕同一套业务模型推进。