寒假動手做一個 博客引擎,先對任務進行拆分,按照自己所理解的功能的重要性,拆分成多個里程碑,每個里程碑有自己的技術或者功能上的重點。然后在每個里程碑,只做好這個里程碑該做的事情,把它完全實現好以后,再考慮下一個里程碑的功能。
覺得將一大塊的任務細化,能讓自己很清楚的知道每一步在做什么,重點應該放在哪里,專心去解決自己目前里程碑的問題,也比較易于自己發現問題,解決問題。一步一步解決問題,會比直接做一大塊的任務更加有信心,保持熱情。
程序功能分析
通過視頻了解到有一下功能
1.兩種用戶:普通用戶和管理員,都可以注冊,登陸,登出
2.操作博客:所有人都可以對自己的博客進行增刪改查
3.評論功能: 所有人都可以對博客進行評論
4.管理員: 可以管理其他用戶以及博客,可以設置管理員
第一個里程碑:搭架子
首先考慮需要使用哪些技術棧,本次任務想用javascript來完成,也會涉及react,redux,mogodb,express等。
構建工具使用npm
將代碼提交到github上,提交到這里
寫readme文件
只需要輸出一個簡單的頁面,上面寫著hello world就可以了,用來證明自己的項目已經搭建好。
驗收條件
- 其他人可以方便的獲取你的代碼
2.其他人可以可以通過你的解釋文件運行代碼,顯示頁面
第二個里程碑:博客的增刪改查
這個里程碑實現一些基本的重要功能,先不采用數據庫,只關注博客的增刪改查
驗收條件
1.任何人都可以對博客進行增刪改查
2.創建博客時,有標題,內容,創建人以及創建時間
3.修改博客時,需要填寫“修改人”,“修改時間”即可
4.刪除博客時,要向用戶發出確認,防止誤操作
5.可以以列表形式查看當前所有博客
6.不需要登陸就可以查看
第三個里程碑:使用真是數據
使用數據庫mongodb來替代之前的模擬數據庫
驗收條件
1.沒有破壞前一個里程碑的功能
2.代碼以“小步”方式提交到github上,并且每個commit都有清楚的描述
3。若干篇博客用來記錄學習收獲和疑問
第四個里程碑:用戶登錄
實現普通用戶登陸的功能
驗收條件
1.查看博客時不需要登錄
2.只有注冊成用戶并登錄后,才能創建、修改、刪除自己的博客
3.用戶不能修改或刪除別人的博客
4.如果沒有登錄,則不允許訪問“創建、修改、刪除”等頁面
5.注冊用戶時,需要提供以下數據 “用戶名”,“密碼”。其ID由數據庫或代碼自動生成,每個用戶的ID都是唯一并且不變的
6.用戶登錄時,需要輸入“用戶名”和“密碼”
7.用戶登錄后可以退出
8.用戶可以修改自己的用戶名和密碼
9.創建或修改博客時,不需要再手動輸入“創建人”和“修改人”,而是由系統自動拿到當前用戶的ID并使用該ID
注意點
原有的數據庫結構需要修改。之前保存的是手動輸入的“創建人”或“修改人”姓名,而現在應該使用登錄者的ID。當需要顯示其用戶名時,可以通過ID拿到其用戶名
第五個里程碑:評論功能
每個人都可以對每一篇博客進行評論,評論時不需要登錄,只需要填寫用戶名。
驗收條件
1.查看每一篇博客的時候都能夠看到已有的評論,按照時間順序排列
2.查看每一篇博客的時候,都能看到評論區,包括輸入姓名,內容,提交新的評論
3.不能對已經發布的評論進行刪除或者修改
第六個里程碑:管理員功能
增加新的角色:管理員,管理員相比于普通用戶可以對博客和用戶進行管理,也可以設置新的管理員
驗收條件
1.管理員登陸之后能夠看到 所有用戶,所有博客,所有評論的管理功能
2.管理員可以對用戶,博客,評論進行增刪改查
3.管理員可以設置新的管理員,也可以將管理員設置為普通用戶
第七個里程碑:管理員增加搜索功能
管理員進行管理的時候,可以搜索用戶,博客,評論
驗收條件
1.管理員在管理用戶時,可以使用輸入的關鍵字模糊搜索“用戶名”,并只顯示符合條件的用戶
2.對于博客,只搜索“標題”
3.對于評論,只搜索評論“內容”
參考總理拆分的里程碑寫出自己的里程碑,在寒假尾聲準備開始動手做吧。