zoukankan      html  css  js  c++  java
  • 我的项目实践——搭建一个博客网站

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

      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环境;
    • 发布至线上;
  • 相关阅读:
    LeetCode 264. Ugly Number II
    LeetCode 231. Power of Two
    LeetCode 263. Ugly Number
    LeetCode 136. Single Number
    LeetCode 69. Sqrt(x)
    LeetCode 66. Plus One
    LeetCode 70. Climbing Stairs
    LeetCode 628. Maximum Product of Three Numbers
    Leetcode 13. Roman to Integer
    大二暑假周进度报告03
  • 原文地址:https://www.cnblogs.com/iceb/p/9547176.html
Copyright © 2011-2022 走看看