前言###
看完總理的寒假任務“博客引擎”拆分里程碑文章后,結合自己的情況意系,稍稍改動了下文章,找到了適合我的里程碑。
拆分里程碑的意義
拆分里程碑就像是在分卡,分的每張卡遵循MVP原則——指“最簡可行產品”(Minimum Viable Product) 见间,也就是用最敏捷快速聊闯、最簡明的方式建立一個可用的產品原型。這樣便可以明確功能需求米诉,細化目標菱蔬。
劃分里程碑
第1個里程碑:搭架子###
第一個里程碑主要是把項目的架子搭起來,方便后面的開發(fā)史侣。
我打算采用JavaScript的技術棧拴泌,具體的庫用到MongoDB,框架用到了Bootstrap,React+Redux,并且JavaScript的話支持ES6,然后使用npm構建工具惊橱。代碼將小步提交到自己的github上蚪腐,在README中向別人說明拿到你的代碼之后,如何能在自己的電腦上快速把代碼運行起來税朴,看到效果
驗收條件:
其他人可以方便的獲取你的代碼
其他人可以通過說明文件回季,在本地將服務器快速的運行起來,看到頁面
通過簡單的頁面可以證明使用的技術棧和主要的庫等已經配置正確
若干篇博客用來記錄學習收獲和疑問
第2個里程碑:寫好的博客可在主頁看到###
這個里程碑不需要用戶登錄正林,任何人可以創(chuàng)建博客泡一,編寫好博客內容,便可以發(fā)表在主頁上
驗收條件:
任何人都可以創(chuàng)建觅廓、發(fā)表任何博客
創(chuàng)建博客時鼻忠,只需要填寫“標題”、“內容”杈绸、“創(chuàng)建人”并記錄“創(chuàng)建時間”即可
發(fā)表博客時帖蔓,只需要點擊發(fā)表按鈕,便可以在主頁查看已發(fā)表的博客
代碼以“小步”方式提交到github上瞳脓,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學習收獲和疑問
注意:
暫不用提供用戶相關功能(如注冊塑娇、登錄等),以及評論劫侧、標簽等功能
由于沒有用戶功能钝吮,所以在創(chuàng)建博客時,需要手動提供“創(chuàng)建人”姓名
這一步不需要使用真實數據庫板辽,可以把數據直接保存在內存中某個變量奇瘦,或者一個JSON文件里
第3個里程碑:博客的增刪改查###
不需要用戶系統(tǒng),不需要權限控制劲弦,每個人都可以直接在這個系統(tǒng)上進行博客的增刪改查
驗收條件:
任何人都可以刪除耳标、修改、查看任何博客
修改博客時邑跪,只需要填寫“修改人”次坡,“修改時間”即可
刪除博客時呼猪,要向用戶發(fā)出確認,防止誤操作
可以以列表形式查看當前所有博客
代碼以“小步”方式提交到github上砸琅,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學習收獲和疑問
注意:
暫不用提供用戶相關功能(如注冊宋距、登錄等),以及評論症脂、標簽等功能
由于沒有用戶功能谚赎,所以在創(chuàng)建和修改博客時,需要手動提供“創(chuàng)建人”和“修改人”姓名
如果一篇博客多次修改诱篷,“修改人”和“修改時間”記錄的是最后一次
不需要記錄每次修改的內容壶唤,直接保存最后的修改即可
刪除博客時,直接從系統(tǒng)中刪除
這一步不需要使用真實數據庫棕所,可以把數據直接保存在內存中某個變量闸盔,或者一個JSON文件里
第4個里程碑:使用真實數據庫###
使用真實的數據庫(比如mongodb或者mysql等)來替換前一個里程碑中的模擬數據庫。之所以把它單獨拿出來琳省,是因為從技術角度上講迎吵,還是有一定的難度,比如數據初始化针贬、異常處理等
驗收條件:
前一個里程碑的功能沒有被破壞
可以通過某種方式來初始化數據庫結構和預置數據击费,并在README中說明步驟
代碼以“小步”方式提交到github上,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學習收獲和疑問
第5個里程碑:用戶登錄###
在這個里程碑坚踩,我們將增加一個重要的功能:用戶的注冊荡灾、登錄瓤狐、退出瞬铸。這個功能幾乎在每個網站中都會用到,非常重要础锐,所以我們盡快實現它嗓节。
在這個里程碑中,我們只考慮一種用戶“普通用戶”(“管理員”放在后面的里程碑)皆警。
驗收條件
查看博客時不需要登錄
只有注冊成用戶并登錄后拦宣,才能創(chuàng)建、修改信姓、刪除自己的博客
用戶不能修改或刪除別人的博客
如果沒有登錄鸵隧,則不允許訪問“創(chuàng)建、修改意推、刪除”等頁面
注冊用戶時豆瘫,需要提供以下數據 “用戶名”,“密碼”菊值。其ID由數據庫或代碼自動生成外驱,每個用戶的ID都是唯一并且不變的
用戶登錄時育灸,需要輸入“用戶名”和“密碼”
用戶登錄后,可以退出
用戶可以修改自己的用戶名和密碼
創(chuàng)建或修改博客時昵宇,不需要再手動輸入“創(chuàng)建人”和“修改人”磅崭,而是由系統(tǒng)自動拿到當前用戶的ID并使用該ID
注意
這個里程碑只有一種用戶“普通用戶”,沒有“管理員”瓦哎,所以沒有人可以修改或刪除別人的博客
原有的數據庫結構需要修改砸喻。之前保存的是手動輸入的“創(chuàng)建人”或“修改人”姓名,而現在應該使用登錄者的ID杭煎。當需要顯示其用戶名時恩够,可以通過ID拿到其用戶名
第6個里程碑:博客評論###
對于每一篇博客,每個人都可以增加評論羡铲。為了簡化需求蜂桶,在評論時,不論用戶是否登錄也切,都要求輸入用戶名扑媚,一視同仁。
驗收條件
查看每一篇博客時雷恃,都可以看到已有的評論疆股,并按某種時間順序排列
查看每一篇博客時,都可以看到一個輸入框輸入新的評論倒槐,包括“姓名”和“內容”旬痹,可以提交新的評論
評論一旦添加,則不可以修改或刪除(在后面可以添加該功能)
第7個里程碑:管理員###
現在我們可以添加一個新的用戶角色“管理員”讨越。它跟“普通用戶”的區(qū)別在于两残,它可以對所有的注冊用戶、所有博客把跨、評論進行增刪改查等操作人弓,還可以把別的用戶設置為管理員。
驗收條件
管理員登錄后與普通用戶看到的界面有所不同着逐,多了“所有用戶”崔赌、“所有博客”、“所有評論”的管理功能
管理員可以對“所有用戶”耸别、“所有博客”健芭、“所有評論”進行增刪改查
管理員可以將某個用戶設置為“管理員”,也可以將某個“管理員”設置為“普通用戶”
管理員不能刪除自己秀姐,或者把自己降為“普通用戶”
注意
第一個管理員直接在數據庫中預先提供
第8個里程碑:管理員增加搜索功能###
當管理員管理用戶慈迈、博客和評論時,可以搜索囊扳,以方便管理
驗收條件
管理員在管理用戶時吩翻,可以使用輸入的關鍵字模糊搜索“用戶名”兜看,并只顯示符合條件的用戶
對于博客,只搜索“標題”
對于評論狭瞎,只搜索評論“內容”
每天都努力一點
謝謝你看完