新闻发布系统 Mysql数据库+dapper
1)权限:网站设置【网站名称、SEO、静态化等等网站配置文件的设置】、用户管理、用户权限设置、栏目管理、新闻管理。
2)后台用户登陆后,可以发布新闻,并指向对应的栏目,每篇新闻可以对应多个栏目,有新闻管理权限的用户,可以管理所有新闻,而没有该权限的用户,只能管理本人创建的新闻。
3)网站需要加入健康检查插件,对接运维系统,记录运维信息。
参考移动端界面如下:
数据库设计文档
新闻库(NewsDB)
序号 | 表名 | 说明 |
1 | permission | 权限表 |
2 | user | 用户表 |
3 | menu | 栏目表 |
4 | news | 新闻表 |
5 | clicks | 浏览信息表 |
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | varchar(45) | 45 | 0 | N | Y | 主键 | |
2 | name | varchar(45) | 45 | 0 | Y | 权限名称 | ||
3 | orderby | int | 10 | 0 | Y | 0 | 排序 | |
4 | create_time | datetime | 23 | 0 | Y | CURRENT_TIMESTAMP | 创建时间 |
2、表名:user(用户表)
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | varchar(45) | 45 | 0 | N | Y | 主键 | |
2 | username | varchar(45) | 45 | 0 | N | 用户名 | ||
3 | password | varchar(45) | 45 | 0 | N | 密码 | ||
4 | permission | varchar(200) | 200 | 0 | Y | 权限id (多个用逗号隔开) | ||
5 | create_time | datetime | 23 | 0 | Y | CURRENT_TIMESTAMP | 创建时间 |
3、表名:menu(栏目表)
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | varchar(45) | 45 | 0 | N | Y | ||
2 | name | varchar(45) | 45 | 0 | N | 栏目名称 | ||
3 | url | varchar(200) | 200 | 0 | N | 栏目url | ||
4 | orderby | int | 10 | 0 | Y | 0 | 排序字段 | |
5 | create_time | datetime | 23 | 0 | Y | CURRENT_TIMESTAMP | 创建时间 |
4、表名:news(新闻表)
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | varchar(45) | 45 | 0 | N | Y | 主键 | |
2 | title | varchar(200) | 200 | 0 | N | 标题 | ||
3 | keywords | varchar(200) | 200 | 0 | Y | 关键词 | ||
4 | menus | varchar(200) | 200 | 0 | N | 所属栏目(逗号隔开) | ||
5 | author | varchar(45) | 45 | 0 | N | 新闻来源 | ||
6 | thumb | varchar(200) | 200 | 0 | Y | 缩略图 | ||
7 | content | text | 65535 | 0 | N | 新闻内容 | ||
8 | user_id | varchar(45) | 45 | 0 | Y | 创建人id | ||
9 | username | varchar(45) | 45 | 0 | Y | 创建人 | ||
10 | create_time | datetime | 23 | 0 | Y | CURRENT_TIMESTAMP | 创建时间 | |
11 | edit_time | datetime | 23 | 0 | Y | 最后编辑时间 | ||
12 | state | tinyint | 1 | 0 | N | 0 | 新闻状态 (0未发布1已发布) |
5、表名:clicks(浏览信息表)
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | varchar(45) | 45 | 0 | N | Y | ||
2 | ip | varchar(45) | 45 | 0 | N | 浏览人ip地址 | ||
3 | useragent | varchar(500) | 500 | 0 | Y | 浏览器useragent | ||
4 | news_id | varchar(45) | 45 | 0 | N | 新闻id | ||
5 | create_time | datetime | 23 | 0 | Y | CURRENT_TIMESTAMP | 创建时间 |
运维表(health)位于其他的数据库,在运维系统项目下,在我们的网站项目中通过插件的方式,对接运维系统,记录该网站前后端项目的健康状况,在跟着项目学设计模式系列文章中,会有类似的实现。
待续。。。