Serverless实战驾校小程序【数据库设计】连载一

0.339字数 776阅读 699

Serverless实战驾校小程序【数据库设计】一

从今天开始,我会文字直播开发这个驾校小程序整个流程。


image.png

1. 项目要求

  1. 小程序端
  2. WEB管理后台
  3. 时间在最短的时间内上线

2. 项目功能

参考驾考宝典、主栏目分为科目一、科目四、满分学习、注销恢复、资格证,包含小车、客车、摩托车等,功能包含视频讲解、章节练习、模拟考试、错题、收藏等等。 支持支付、分享、提成、提现等

3. 项目选型

由于要求最快时间内上线,我们小程序选择 Serverless架构。 这里使用以下技术产品

小程序端:

  1. Bmob后端云+iview
  2. VUE + Bmob后端云

Bmob后端云,自带了支付,生成二维码等接口,这里集成可以快速上线。VUE 有丰富的后台模板,可以更快的做出管理后台。

第一步:清晰了解需求

因为已经很清楚自己要做的是驾校答题小程序,这里就不做多余的介绍了。 设计部分,由于这个项目比较小,没有专门的设计师。 尽量参考行业老大:驾校一点通与驾考宝典。

第二步:数据库设计

数据库参考其他驾考类小程序,优先把核心字段建立出来,尽量考虑周全, 不够后面再补。 这里注意的是,Serverless架构,主要适合做一些中小型应用,如果应用数据量很大, 尽量提前考虑分表。

1. 数据表

目前第一阶段暂时考虑一下表

  1. 题目表
  2. 题目类别表(题形)
  3. 错题表
  4. 收藏表
  5. 成绩表
  6. 用户表

用户表,由于Bmob系统自带了,我就不建立了。

2. 数据库文档

由于使用Bmob后端云数据库,默认每条记录都带id、创建时间与更新时间,此数据表说明不带这2个字段。

题目表(question)

名称 类型 描述
title string 题目名称
choseList Array 选择列表 [{"item":"选选一"},{"item":"选选二","isChose":true}]
type int 类型 1.单选 2.多选 3.判断
pic string 图片地址
video string 视频地址
help string 帮助描述
bSubjects int 所属科目 1.科目一 2.科目四
bModels int 所属车型 1.小车 2.货车 3.客车 4.摩托车
bType string 所属类别 关联类别表

题目类别表(questionType)

名称 类型 描述
bSubjects string 所属科目 1.科目一 2.科目四
title sting 类别名称

错题表

名称 类型 描述
id string 题目id
uid string 用户id

收藏表

名称 类型 描述
id string 题目id
uid string 用户id

成绩表

名称 类型 描述
time string 用时
score int 成绩

设计好数据表之后,做准备工作

  1. 拿到小程序的 AppID填写到Bmob控制台,应用设置-》应用配置
  2. 把上面所有想好建立好的数据表添加到数据库
  3. 小程序开发工具新建一个空白项目,复制BmobSDK,到utils目录
  4. 引入SDK,初始化。

引入SDK,初始化。文档在这里

https://bmob.github.io/hydrogen-js-sdk/#/?id=%E5%88%9D%E5%A7%8B%E5%8C%96

看最终效果如下。

效果一:所写代码➕预览


WX20180927-143917@2x.png

效果二:数据表变化


image.png

这样我们就实现了,整个小程序开发的第一步,自动注册登陆,获取openid。 第一节就到这里,下一步就是操作业务表。

推荐阅读更多精彩内容