mbti性格测试应用项目后端开发(基础)

目录

一、需求分析

a.项目功能梳理

b.核心业务流程

c.需求优先级

二、库表设计

a.用户表

b.应用表

c.题目表

d.评分结果表

测评类应用

得分类应用

e.用户答题记录表

三、后端项目初始化

a.打开后端模板项目

b.准备依赖

c.执行模板的初始化 SQL 脚本,运行模板

d.模板改造

四、后端基础开发-增删改查

a. 数据访问层代码生成

b. 业务逻辑代码生成

c.数据模型开发

包装类

枚举类

VO视图

d. 对库表的增删改查

dto

五、后端基础开发-接口开发

六、后端基础开发-服务开发

上传图片

七、后端核心业务开发

应用审核功能

评分模块实现

全局执行器

回答模块

控制应用可见范围


一、需求分析

目标是明确要做的需求,并且给需求设置优先级,从而明确开发计划。

a.项目功能梳理

按照模块梳理功能:

• 用户模块

    • 注册
    • 登录
    • 管理用户 - 增删改查(仅管理员可用)

• 应用模块

    • 创建应用
    • 修改应用
    • 删除应用
    • 查看应用列表
    • 查看应用详情
    • 查看自己创建的应用
    • 管理应用 - 增删改查(仅管理员可用)
    • 审核发布和下架应用(仅管理员可用)
    • 应用分享(扫码查看)

• 题目模块

    • 创建题目(包括题目选项得分设置)
    • 修改题目
    • 删除题目
    • 管理题目 - 增删改查(仅管理员可用)
    • AI 生成题目

• 评分模块

    • 创建评分结果
    • 修改评分结果
    • 删除评分结果
    • 根据回答计算评分结果(多种评分策略)
      • 自定义规则评分 - 测评类
      • 自定义规则评分 - 打分类
      • AI 评分
    • 管理评分结果 - 增删改查(仅管理员可用)

• 回答模块

    • 提交回答(创建)
    • 查看某次回答的评分结果
    • 查看自己提交的回答列表
    • 管理回答 - 增删改查(仅管理员可用)

• 统计分析模块

    • 应用评分结果分析和查看

b.核心业务流程

流程图:

文字描述:

  1. 用户注册 => 用户登录
  2. 用户创建应用 => 创建题目(包括题目选项得分)=> 创建评分规则(评分策略和评分结果)
  3. 管理员管理应用,审核发布(或下架)应用1808505663815548929_0.618888251920501
  4. 用户查看和检索应用列表,进入应用详情页,在线答题并提交回答
  5. 经过评分模块计算后,用户可查看本次评分结果

c.需求优先级

根据核心业务业务流程,明确需求开发的优先级。

  • P0 为核心,非做不可
  • P1 为重点功能,最好做
  • P2 为实用功能,有空就做
  • P3 可做可不做,时间充裕再做

排好优先级的需求列表如下,其实用表格的形式整理更好:

  • 用户模块
    • 注册 P0
    • 登录 P0
    • 管理用户 - 增删改查(仅管理员可用)P1

应用模块

    • 创建应用 P0
    • 修改应用 P1
    • 删除应用 P1
    • 查看应用列表 P0
    • 查看应用详情 P0
    • 查看自己创建的应用 P1
    • 管理应用 - 增删改查(仅管理员可用)P0
    • 审核发布和下架应用(仅管理员可用)P0
    • 应用分享(扫码查看)P2
  • 题目模块
    • 创建题目(包括题目选项得分设置)P0
    • 修改题目 P1
    • 删除题目 P1
    • 管理题目 - 增删改查(仅管理员可用)P1
    • AI 生成题目 P1
  • 评分模块
    • 创建评分结果 P0
    • 修改评分结果 P1
    • 删除评分结果 P1
    • 根据回答计算评分结果(多种评分策略)
      • 自定义规则评分 - 测评类 P0
      • 自定义规则评分 - 打分类 P0
      • AI 评分 P1
    • 管理评分结果 - 增删改查(仅管理员可用)P1
  • 回答模块
    • 提交回答(创建)P0
    • 查看某次回答的评分结果 P0
    • 查看自己提交的回答列表 P1
    • 管理回答 - 增删改查(仅管理员可用)P1
  • 统计分析模块
    • 应用评分结果分析和查看 P2

排好优先级后,就可以根据优先级去设计接口和页面了。

企业中一般使用专业的系统或者表格来管理需求:

二、库表设计

对应需求分析中的功能梳理的模块,应该有 6 张表(统计分析表本节先不做)。

库名:yudada

数据库初始化文件:

  • 创建库表:create_table.sql
  • 初始数据:init_data.sql

创建时间、更新时间、是否删除等字段表中一定要有。

a.用户表

b.应用表

审核字段 4 件套:

reviewStatus    int      default  0  not null comment '审核状态:0-待审核, 1-通过, 2-拒绝',
reviewMessage   varchar(512)   null comment '审核信息',
reviewerId      bigint         null comment '审核人 id',
reviewTime      datetime       null comment '审核时间',

c.题目表

每个应用对应一个题目表的记录,使用 questionContent 这一 JSON 字段,整体更新和维护该应用的题目列表、选项信息。(方便后期排序题目等功能完善)

questionContent 结构,注意区分 result 和 score,分别用于统计两种不同应用类型的结果。

[
  {
    "options": [
      {
        "result": "I", // 如果是测评类,则用 reslut 来保存答案属性
        "score": 1,    // 如果是得分类,则用 score 来设置本题分数
        "value": "A选项", //选项内容
        "key": "A"   //选项 key
      },
      {
        "result": "E", // 如果是测评类,则用 reslut 来保存答案属性
        "score": 0,
        "value": "B选项",
        "key": "B"
      }
    ],
    "title": "题目"
  }
]

d.评分结果表

用户提交答案后,会获得一定的回答评定,例如 ISTJ 之类的,评分结果表就是存储这些数据的表。

**不同类型的应用使用不同的字段。**测评类用 resultProp,得分类用 resultScoreRange。

测评类应用

resultProp 的结构,结果属性集合 JSON:

["I", "S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值