项目需求
市场需求
没有市场需求,只是做为个人学习英语,以及检验web开发能力的小demo
个人需求
提升编码能力,此网站也可以作为个人学习英语的笔记,以及参考资料
个人最终目的
看懂英文文档
运用技术
后端技术
- SSM
SpringMVC+Spring+MyBatis
前端技术
- 前端三剑客
html+css+JavaScript
- jquery
- ajax
项目结构(暂时)
英语单词是最基本的单位
单词类型是每个英语单词的必要属性
单词标签作用在于给英语单词贴上一个帮助记忆与查找的标记
单词标签组管理众多的单词标签
**
总结:
一个单词标签分组管理单词多个标签
一个英语单词对应多个标签
一个英语单词对应一个属性或多个属性
实现功能
并不是要做翻译网站,它只是个人学习英语做做笔记的网站,
虽有翻译查询的小功能,但它的重点并不是放在这里
重点在于帮助我个人记忆大量英语单词
以及对所学编程技术的巩固提升
简述关系表:
关系表:从多对多关系的两张三中分离出来的表,
只是用于描述两张表所对应的关系
英语单词 相关
- 添加英语单词
- 删除英语单词
- 分页查看英语单词
- 查看单个英语单词的所有信息
标签 相关
- 添加英语单词标签
- 删除英语单词标签,(如果该标签下已经没有英语单词)
- 修改英语单词标签
- 查看所有标签,并在后方显示当前标签下英语单词的数量
- 查看单个标签下所有的英语单词
- 查询所有标签
- 查看标签中所有对应英语单词
标签组 相关
- 增加标签组
- 删除标签组(如果该标签分类下面是空的)
- 修改标签组
- 将单个或多个标签移入标签组下
- 查询所有标签组
- 查看当个标签组(并在页面中显示当前标签分类下所有标签)
文章相关
- 增加文章
- 删除文章
- 修改文章
- 分页查看文章
- 查看文章详情
文章分类相关
- 增加文章分类
- 给文章分类
- 修改文章分类
- 删除文章分类(如果该文章分类下面没有相关文章)
- 因为文章分类表是一个内联表,所以可以为文章分类本身再分一次类(但可能会出现死循环)
- 查看所有文章分类
- 查看当前文章分类下的文章分类,
- 查看当前文章分类下的所有文章
管理员相关
- 增加管理员
- 删除管理员
- 修改管理员信息
- 管理员登录
- 管理员注销登录
用户相关
- 注册用户
- 修改用户信息
- 用户登录
- 用户注销登录
- 用户免登录,进入系统
表结构
单词表(work)
本项目中的根基所在
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_id | int(11) | × | 主键 | 单词id |
work_name | varchar(30) | × | 单词名(不允许重复) |
单词类型表(work_type)
单词类型,如:形容词,动词,等
每个英语单词都对应着一个或多个单词类型
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_type_id | int(11) | × | 主键 | 单词类型id |
work_type_name | int(11) | × | 外键 | 单词类型名称 |
单词与单词类型关系表(work_and_type_relation)
用以描述单词表与单词类型表,之间的多对多关系,所分离出的一张表
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_id | int (11) | × | 外键 | 单词id(外键) |
work_type_id | int(11) | × | 外键 | 单词类型id(外键) |
单词标签表(work_tag)
用以描述单词标签的一张表
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_tag_id | int(11) | × | 主键 | 单词标签id |
work_tag_name | varchar(50) | × | 单词标签名 | |
tag_group_id | int(11) | 外键 | 单词标签组id(外键) |
单词标签与单词关系表(work_and_tag_relation)
用以描述单词表与单词标签表,之间的多对多关系,所分离出的一张表
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_id | int(11) | × | 外键 | 单词id(外键) |
work_tag_id | int(11) | × | 外键 | 单词标签id(外键) |
标签组表(tag_Classification)
描述标签组
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
tag_group_id | int(11) | × | 主键 | 标签组id |
tag_group_name | varchar(50) | × | 标签组名 |
文章表
文章表的说明
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_name | varchar(30) | × | 主键 | 单词名 |
work_type | int(11) | × | 外键 | 单词类型(外键) |
文章分类表
文章分类表说明
列名 | 类型&长度 | null | 键 | 备注 |
---|---|---|---|---|
work_name | varchar(30) | × | 主键 | 单词名 |
work_type | int(11) | × | 外键 | 单词类型(外键) |
管理员表
关于管理员表的说明
Column 1 | Column 2 |
---|---|
centered 文本居中 | right-aligned 文本居右 |
用户表
图片表
实体类结构
单词类(Work)
描述英语单词
public class Work {
private Integer workId;
private String workName;
.......
}
单词标签类(WorkTag)
描述英语单词标签
public class WorkTag {
private Integer WorkTagId;
private String WorkTagName;
private TagGroup tagGroup;
.......
}
单词类型 类(WorkType)
描述英语单词类型
public class WorkType {
private Integer WorkTypeId;
private String WorkTypeName;
.......
}
标签分组类(TagGroup)
描述单词标签分组
public class TagGroup {
private Integer tagGroupId;
private String tagGroupName;
.......
}
页面内容(待定)
因为项目做出来后,基本都是自己一个人在用,考虑到个人的情况,
制定三个版本:
- 随便做的电脑端
- 响应式
- 完善响应式
现阶段只考虑第一项
前台页面
前台页面主要负责与用户交互
首页(index)
首页最上方显示导航菜单
导航菜单项:
- 不知道
- 没想好
标签显示页(tagShow)
标签显示页应该有两种显示模式
- 显示全部标签(乱堆)
这种模式后期应该要有排序
- 像文件夹一样来显示标签
标签分组相当于标签的文件夹
点击标签分组打开显示里面的相关标签
单词详情页(work_info)
显示该单词的所有需要的属性
后台页面
管理员登录页
只能拥有管理员帐号的人登录以管理后台