Skip to content

this is a project for exbot websit to speed up finish it .

Notifications You must be signed in to change notification settings

ZhuChaozheng/exbot_web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exbot_web—易科机器人博客网站

借鉴网上优秀项目开发的博客系统

关于本地开发

可直接导入该项目于本地,修改配置文件中的数据库连接信息,导入附带数据库结构的SQL文件可直接生成所有表,项目中使用到的关于阿里云功能还需开发者自行前往阿里云进行相应功能开通。

当克隆项目到本地后可使用手机号:18751655981,密码:123456进行登录,也可自行注册并将其修改为最高管理权限。

项目需求

功能需求

主页
  • 博客汇总,以列表形式展示文章,并附上文章作者、发布日期、分类情况以及文章简要
  • 能够以分类形式查看文章
  • 能够以时间列表方式归档文章
  • 可实现通过标签查找所有相关文章
  • 个人介绍、联系方式
  • 博客网站更新记录
  • 友链链接
后台管理
  • 网站仪表盘,记录网站访客量情况
  • 文章管理 1.分页展示文章信息 2.可对文章进行再编辑以及删除文章
  • 发布文章 1.使用markdown编辑器,支持插入代码,插入图片等功能 2.文章可选择分类和标签,以及转载文章支持链接原作者文章
  • 分类管理,支持增加、删除、修改分类
  • 友情链接 1.支持增加友情链接 2.支持删除友情链接
  • 反馈信息管理,可查看用户反馈信息

安装部署需求

  • 可以使用docker方式部署,也可支持-jar方式
  • 使用springboot自带方式打包

非功能需求

性能需求
  • 首页响应时间不超过2秒钟
  • 文章页响应时间不超过3秒钟

项目设计

总体设计

  • 本项目用到的技术和框架 1.项目构建:Maven 2.web框架:Springboot 3.数据库ORM:Mybatis 4.数据库连接池: Druid 5.分页插件:PageHelper 6.数据库:MySql 7.缓存:Redis 8.前端模板:Thymeleaf 9.文章展示:Editor.md
  • 环境
工具 名称
开发工具 IDEA
语言 JDK1.8、HTML、css、js
数据库 Mysql5.6
项目框架 SSM
ORM Mybatis
安全框架 SpringSecurity
项目构建 Maven
运行环境 阿里云Centos7

结构设计

img

业务设计

发布文章流程

img

登录流程

img

用户个人资料修改流程

img

打包、部署和运行

  • 本项目采用Springboot的maven插件进行打包,打包结果:****.jar
  • 部署方式:使用 nohup java -jar .jar >.log 2>&1 &的方式,后台启动项目,并在该路径下生成运行日志

数据设计

用户表:user
名称 类型 长度 主键 非空 描述
id int 11 true true 主键,自增
phone varchar 255 false true 手机号
username varchar 255 false true 用户名
password varchar 255 false true 密码
gender char 50 false true 性别
trueName varchar 255 false false 姓名
birthday char 100 false false 生日
email varchar 255 false false 邮箱
personalBrief varchar 255 false false 个人简介
avatarImgUrl varchar 255 false true 头像url
recentlyLanded varchar 255 false false 最近登录时间
文章表:article
名称 类型 长度 主键 非空 描述
id int 11 true true 主键,自增
articleId bigint 20 false true 文章id
author varchar 255 false true 作者
originalAuthor varchar 255 false true 文章原作者
articleTitle varchar 255 false true 文章标题
articleContent longtext 0 false true 文章内容
articleTags varchar 255 false true 文章标签
articleType varchar 255 false true 文章类型
articleCategories varchar 255 false true 文章分类
publishDate varchar 255 false true 发布文章日期
updateDate varchar 255 false true 更新文章日期
articleUrl varchar 255 false true 文章url
articleTabloid 0 255 false true 文章摘要
likes int 11 false true 文章喜欢数
lastArticleId bigint 20 false false 上一篇文章id
nextArticleId bigint 20 false false 下一篇文章id
评论记录表:comment_record
名称 类型 长度 主键 非空 描述
id bigint 20 true true 主键,自增
pId bigint 20 false true 父id
articleId bigint 20 false true 文章id
originalAuthor varchar 255 false true 文章原作者
answererId int 11 false true 评论者id
respondentId int 11 false true 被评论者id
commentDate varchar 100 false true 评论日期
likes int 11 false true 评论点赞数
commentContent text 0 false true 评论内容

开发流程

数据库CRUD
  • controller层中编写前端接口,接收前端参数
  • service层中编写所需业务接口,供controller层调用
  • 实现service层中的接口,并注入mapper层中的sql接口
  • 采用Mybatis的JavaConfig方式编写Sql语句。由于并没有使用Mybatis的逆向功能,需要自己手写所有sql语句
  • 关于事务的实现,在启动类中开启事务,并在service层需要实现事务的业务接口上使用@Transactional注解,还是十分方便的
  • 本项目开发并不是很难,只是在业务的实现上比较复杂
页面与展示
  • 使用妹子UI主题,减少了页面的开发难度
  • 前端页面与后端的交互主要是在controller包中,并使用Thymeleaf渲染页面。
  • 自定义异常处理页面,通过重写WebMvcConfigurerAdapter实现自动跳转到404、403页面

About

this is a project for exbot websit to speed up finish it .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published