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


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

      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环境;
    • 发布至线上;
  • 相关阅读:
    ECMAScript 引用类型Object 对象
    jQuery Form Plugin
    在 PHP5 中使用 DOM 控制 XML
    JavaScript encodeURI()和encodeURIComponent() 函数
    程序员进阶的建议:多看、多写、多交流
    jQuery 取 css zindex 值在各种浏览器中的返回值
    XPath 语法教程(Tutorial_2)
    使用 strpos 需要注意 === 运算符
    关于代码开发规范和原则
    PHP 编写大型网站问题集
  • 原文地址:https://www.cnblogs.com/iceb/p/9547176.html
Copyright © 2020-2023  润新知