最近接触了idea开发工具,稍微看了下spring boot。本着对spring mvc的一些小经验,开发个投票项目的服务端。时间上大约花了周末两天。乍一看需求感觉是很简单,但是在真正做的时候对业务逻辑的处理上还是一丁点的马虎都不能有,REST接口需要满足健壮性、合理性需求,并且几乎不允许有bug出现(给自己的目标)。
一切不基于需求的后台设计都是耍流氓。先列下需求:
需求设计
整个程序模块:普通用户的登录和注册模块,管理用户的登录模块,用户投票模块,管理员功能模块
普通用户的注册模块:注册的时候有用户名,密码,学校,等。存在的用户名,不能再注册
普通用户的登录模块:用户名,密码登录
管理员用户登录模块:用户名,密码登录,管理员不注册,后台给创一个管理员用户。
用户投票模块:用户登录后,进入一个投票项的列表(可以的话加个查询投票项),然后选择一个投票项,进入下个页面,显示题目
题目都选完之后进入显示结果页面,(可以的话多选)。
基于需求,下面开始进行数据库设计。
数据库设计
数据库设计部分很重要,需要根据实际业务场景,将所需的几个表以及表结构梳理出来。前期肯定会有一些考虑不周的地方,这种情况只能是尽量做到考虑全面,等实际开发过程中会再遇到某些问题的时候再斟酌对数据库进行变更。
当下可以理清楚的几个表如下:
- user