1. 程式人生 > >我的項目實踐——搭建一個博客網站

我的項目實踐——搭建一個博客網站

style 利用 uid align 測試 enter 前端 項目架構 聯系

  學習是好的,但覺得是需要一個實踐項目來練手的,不然學的東西幾天就忘光了~

  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環境;
  • 發布至線上;

我的項目實踐——搭建一個博客網站