总体设计
主要分为2部分:学习中心和用户中心
用户中心:
功能包括登录,注册,密码找回,查看学习进度,单词本选择与切换,打卡记录,账号设置等功能
学习中心:
数据库设计:
1.单词本表
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(64) DEFAULT '' COMMENT '单词本名称',
`category` int(11) DEFAULT '0' COMMENT '分类',
`create_at` int(11) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='单词本表';
2.单词本类别表,如可以分为四级,六级,雅思,托福等
CREATE TABLE `book_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(64) DEFAULT '' COMMENT '类别名称',
`create_at` int(11) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='单词本类别表';
3.单词本词典存储表,表名由book_storage_和单词本id拼成
CREATE TABLE `book_storage_1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`word` varchar(32) DEFAULT NULL,
`ph_en` varchar(32) DEFAULT NULL COMMENT '英语音标',
`ph_am` varchar(32) DEFAULT NULL COMMENT '美语音标',
`chinese` varchar(1024) DEFAULT NULL COMMENT '中文释义 json存储',
PRIMARY KEY (`id`),
UNIQUE KEY `unq_word` (`word`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='单词本表';
4.学习记录表
CREATE TABLE `study_record` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`uid` int(10) DEFAULT '0' COMMENT '用户id',
`book_id` int(10) DEFAULT '0' COMMENT '单词书id',
`storage_id` int(10) DEFAULT '0' COMMENT '已学单词书的最后的单词id',
`create_at` int(10) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5.用户表
CREATE TABLE `user` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名',
`phone` char(13) NOT NULL DEFAULT '' COMMENT '手机号',
`email` varchar(90) NOT NULL DEFAULT '' COMMENT '电子邮件',
`passwd` varchar(512) NOT NULL DEFAULT '' COMMENT '加密密码',
`avatar` varchar(512) NOT NULL DEFAULT '' COMMENT '头像图片',
`active_book_id` int(11) DEFAULT '0' COMMENT '当前激活的单词本',
`create_time` date NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8;
6.打卡记录表
CREATE TABLE `checkin_record` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`uid` int(11) DEFAULT '0' COMMENT '用户id',
`checkin_day` date NOT NULL COMMENT '打卡日期',
`book_id` int(11) DEFAULT '0' COMMENT '单词本id',
`create_at` int(11) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 comment '打卡记录';