写在前面
大三下学期的软件工程课程需要做一个面向多用户的博客系统;团队一共有6人,我担任架构设计,分配任务的角色。所以有了下面这篇文章。
项目架构
1. 前端页面
页面使用jsp,整合css、js、html、ajax等前端技术,内嵌一个markdown-editor;
2.后端
使用SSM架构,spring + springMVC + mybatis;
好了,简单的架构先说到这,下面开始说说数据库设计
分工
项目环境:
考虑组员都没有使用过springMVC mybatis,所以项目环境的搭建是由我来做;
我会搭建好环境,然后放在码云上,然后大家都进来开发人员。
服务器环境:
服务器需要用到的环境有:java、tomcat、mysql,搭建好这三个环境就差不多够了
数据库表设计
本来是想着使用mongoDb来做数据库,但后面发现这样做是达不到锻炼的相关,sql数据库才是现在的主流,在尚未掌握sql数据库却去使用mongoDb,有点像是“还没学会走就要跑的孩子”。
最基本的表有:用户表、文章表,这两个表是核心,其余的用户关系、评论之类的表都是装饰。
(简书竟然不支持markdown表格格式? 好吧,我放弃在简书写表格)
用户表
初步设计必须的字段如下,根据实现者的意愿来增加字段
属性名有:
id 自增主键
name 可以随意更改
password
mail 通过邮箱+密码 或者 手机+密码的方式进行登录
phone
description 用户自我介绍
status 1 表示正常用户 2表示用户已删除 在登录的记得判断status
文章表
初步设计必须的字段如下,根据实现者的意愿来增加字段
文章的url为 : / articles / article_id
属性名有:
id 一个随机的12为串,小写英文+数字的组合
title
author_id 文章作者
content
create_time
update_time
public 1表示公开,2表示私密
status 1表示正常,2表示删除
文章分类表
暂时想到的分类表如下
category_id 分类号,用数字表示
category_name 分类名
文章-分类的隐射表
article_id
category_id
使用隐射表,文章就可以有1个或多个分类;
次要功能,暂时不考虑
点赞表
article_id
article_star 文章被点赞数
user_id,
article_id,
create_time,
status 1 有效赞,2取消赞
评论
评论可以使用 ‘畅言’,一段js代码;这样为我们节省了很多