我的項目實踐——搭建一個博客網站
阿新 • • 發佈:2018-10-07
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環境;
- 發布至線上;
我的項目實踐——搭建一個博客網站