程序功能分析
它具有以下功能:
用戶功能:用戶可以注冊雾狈、登錄贮竟、退出系統(tǒng)荚孵;
發(fā)布問題:用戶可以發(fā)布自己的問題失尖;
回復(fù)功能:任何人都可以對問題進行回復(fù)啊奄;
第0個里程碑:搭架子
第一個里程碑主要是把項目的架子搭起來,方便我們后面的開發(fā)掀潮。
- 打算采用JavaScript菇夸,支持ES6. 具體會用到的庫和框架:Express,Bootstrap,react,MongoDB;
- 構(gòu)建工具用npm;
- 代碼提交到github上,并會在README中向別人說明拿到代碼之后,如何能在自己的電腦上快速把代碼運行起來仪吧,看到效果(hello world).
這一步的重點在于庄新,你能夠把項目的架子搭起來,能夠保證以后遇到問題的時候和需要跟人交流的時候,能夠方便地讓別人看到你的代碼或者效果择诈。
驗收條件:
其他人可以方便的獲取你的代碼
其他人可以通過你的說明文件械蹋,在本地將服務(wù)器快速的運行起來,看到頁面
通過簡單的頁面可以證明你使用的技術(shù)棧和主要的庫等已經(jīng)配置正確
若干篇博客用來記錄你的學(xué)習(xí)收獲和疑問
第1個里程碑:發(fā)布和查看問題
這個里程碑主要是為了讓我們快速上手羞芍,實現(xiàn)一些基本的最重要的的功能:“問題的發(fā)布和查看”哗戈。
驗收條件:
任何人都可以發(fā)布問題;
發(fā)布問題時荷科,需要描述問題谱醇,手動填寫發(fā)布人并記錄“創(chuàng)建時間”即可,
可以以列表形式查看當(dāng)前所有問題
代碼以“小步”方式提交到github上步做,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學(xué)習(xí)收獲和疑問
注意:
暫不用提供用戶相關(guān)功能(如注冊副渴、登錄等),以及評論等功能
由于沒有用戶功能全度,所以在發(fā)布時煮剧,需要手動提供“發(fā)布人”姓名
這一步不需要使用真實數(shù)據(jù)庫,可以把數(shù)據(jù)直接保存在內(nèi)存中某個變量将鸵,或者一個JSON文件里
第2個里程碑:用戶登錄
在這個里程碑勉盅,我們將增加一個重要的功能:用戶的注冊、登錄顶掉、退出草娜。這個功能幾乎在每個網(wǎng)站中都會用到,非常重要痒筒,所以我們盡快實現(xiàn)它宰闰。
驗收條件
查看問題時不需要登錄
只有注冊成用戶并登錄后,才能發(fā)布自己的問題
如果沒有登錄簿透,則不允許訪問“發(fā)布”頁面
注冊用戶時移袍,需要提供以下數(shù)據(jù) “用戶名”,“密碼”老充。其ID由數(shù)據(jù)庫或代碼自動生成葡盗,每個用戶的ID都是唯一并且不變的
用戶登錄時,需要輸入“用戶名”和“密碼”
用戶登錄后啡浊,可以退出
用戶可以修改自己的用戶名和密碼
發(fā)布問題時觅够,不需要再手動輸入“發(fā)布人”,而是由系統(tǒng)自動拿到當(dāng)前用戶的ID并使用該ID
注意點
原有的數(shù)據(jù)庫結(jié)構(gòu)需要修改巷嚣。之前保存的是手動輸入的“發(fā)布人”姓名喘先,而現(xiàn)在應(yīng)該使用登錄者的ID。當(dāng)需要顯示其用戶名時涂籽,可以通過ID拿到其用戶名
第3個里程碑:修改和刪除問題
這個里程碑實現(xiàn)問題的刪除和修改苹祟;
驗收條件:
用戶不能修改或刪除別人的問題;
修改問題時,不需要手動輸入“修改人”和"修改時間"树枫,而是由系統(tǒng)自動拿到當(dāng)前用戶的ID并使用該ID直焙,并由系統(tǒng)創(chuàng)建修改時間
刪除博客時,要向用戶發(fā)出確認砂轻,防止誤操作
代碼以“小步”方式提交到github上奔誓,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學(xué)習(xí)收獲和疑問
注意:
不需要記錄每次修改的內(nèi)容,直接保存最后的修改即可
刪除博客時搔涝,直接從系統(tǒng)中刪除
這一步不需要使用真實數(shù)據(jù)庫厨喂,可以把數(shù)據(jù)直接保存在內(nèi)存中某個變量,或者一個JSON文件里
第4個里程碑:使用真實數(shù)據(jù)庫
使用真實的數(shù)據(jù)庫mongodb來替換前三個里程碑中的模擬數(shù)據(jù)庫庄呈。之所以把它單獨拿出來蜕煌,是因為從技術(shù)角度上講,還是有一定的難度诬留,比如數(shù)據(jù)初始化斜纪、異常處理等
驗收條件:
前一個里程碑的功能沒有被破壞
可以通過某種方式來初始化數(shù)據(jù)庫結(jié)構(gòu)和預(yù)置數(shù)據(jù),并在README中說明步驟
代碼以“小步”方式提交到github上文兑,并且每個commit都有清楚的描述
若干篇博客用來記錄你的學(xué)習(xí)收獲和疑問
第5個里程碑:問題回復(fù)
對于每個問題盒刚,每個人都可以回復(fù)。為了簡化需求绿贞,在回復(fù)時因块,不論用戶是否登錄,都要求輸入用戶名籍铁,一視同仁涡上。
驗收條件
查看每個問題時,都可以看到已有的回復(fù)寨辩,并按某種時間順序排列
查看每個問題時吓懈,都可以看到一個輸入框輸入新的回復(fù)歼冰,包括“姓名”和“內(nèi)容”靡狞,可以提交新的回復(fù).
<i>協(xié)作者:李鵬</i>