我的项目实践——搭建一个博客网站

  学习是好的,但觉得是需要一个实践项目来练手的,不然学的东西几天就忘光了~

  so,我打算自己搭建一个博客网站来练习一下,把学到的东西都应用上。

项目架构

项目需求

  需求背景

  对于刚刚学习完SpringBoot的童鞋来说,没有什么是比实践开发一个项目更有效的了,比如搭建一个自己的博客系统。

  需求列表(兼容移动端?)

  • 前端-主页
    • Banner位预留
    • 推荐博文+图形轮播式展示;
    • 博文列表,最多展示10篇,下拉加载更多;
    • 标签分类-侧边栏,点击进入对应的文章分类列表页;
    • 文章搜索,模糊搜索指定文章信息、作者名称;
    • 顶tab分类,进入各个系统分类;
    • 链接文章推荐区,外联其他作者的文章或博客;
    • 阅读量最多的文章列表,展示最多的前5篇文章;
    • 博客logo图+关注+联系我+返回顶部的浮层按钮;
    • 动态时钟;
    • 友情链接;
  • 前端-博文列表页
    • manager可添加文章
    • 展示文章标题、更新时间、文章作者、操作按钮(manager展示-编辑、删除、置顶)
      • 文章编辑框:可存草稿(找控件实现?)
      • 文章详情页:可评论留言、收藏文章、分享文章
    • 默认按照更新时间排序从上至下;
    • 标签分类-侧边栏
    • 顶tab分类,可返回首页
  • 前端-后台管理
    • 博文管理(增删改查)
    • 用户管理(权限配置)
      • 用户可修改密码;
      • 管理员和管理用户;
    • 博文统计(PV及UV);
    • 博客管理(友情链接配置)
      • 有评论留言10分钟没有变更的情况下,发出邮件;
  • 后端-日志统计:
    • 用户访问量、用户IP、文章PV/UV/分享量
    • 实时保存文章更新信息(前端?)
    • 定时任务备份数据
    • 监控网站各系统运行状态
  • 后端-性能处理:
    • 页面响应不能超过2秒
    • 文字刷新不能超过1秒

项目交互

项目设计

  项目部署

  • 使用docker方式部署,可以采用-jar启动;
  • 总体采用springboot框架打包;利用SpringCloud进行微服务的分布式开发;
  • 技术框架:
    • 本项目用到的技术和框架

      • 项目构建: maven
      • web框架:spring boot
      • 分布式:SpringCloud
      • 数据库ORM:mybatis-plus(有分页查询)
      • 数据库连接池:Druid
      • 数据库:mysql
      • 缓存NOSQL:redis
      • 前端模板:thymeleaf
      • webjar:bootstrap
      • 文章展示:使用commonmark,将markdown转成html页面
    • 数据结构
      • 用户表 blog_users
      • 文章表 blog_contents
      • 标签表 blog_tags
      • 文章-标签关系表 blog_ct_relation

  项目开发

  • 搭建分布式框架,将各需求作为微服务开发;
  • 创建数据库,关联数据,设计service层,实现增删改查;
  • 找个开源UI框架做到前端展示,controller层的请求实现;
  • 打包发布

项目测试

  功能测试

  • 项目开发完成后进行单元测试;
    • 可以考虑接口自动化框架;
  • 发布到test环境进行功能测试;
    • 可以考虑ui自动化框架;
  • 发布至线上做轮训测试;

项目发布

  发布阶段

  • 本地做开发及单元测试;
  • 发布至test环境;
  • 发布至线上;

猜你喜欢

转载自www.cnblogs.com/iceb/p/9547176.html