這一週的作業繳交時需要附上底下兩個專案的網址,你可以選擇:
- 部署到免費空間 heroku
- 部署到自己買的主機
相關部署教學請參考 BE201 的後半段
還記得第十一週我們完成的部落格嗎?費盡千辛萬苦與 PHP 奮戰之後才完成的部落格。
現在請你把這個部落格改成 Express + Sequelize,驗收一下這週學習的成果,順便在過程中體會一下用 JS 寫後端跟用 PHP 的差異。
幫大家回憶一下,11 週的部落格必須要有:
- 登入機制,管理員才可以登入
- 可以新增、編輯、刪除文章
這週的延伸挑戰題跟 11 週一樣:
- 串接 CKEditor
- 實作分類功能
- 實作 view more 功能
- 實作分頁機制
- 新增關於我頁面
- 支援 RWD
之前第八週的時候有串過一個抽獎的 API,現在你的目標就是要自己把這個 API 實作出來!
不過第八週的 API 只有回一個獎項名稱而已,這週我希望大家改得更動態,抽獎品項的名字、圖片還有說明,都是 API 傳回來的,前端只負責 call API 然後顯示就好。
另外,你必須有一個後台,可以在後台新增抽獎品項並且設定機率。
詳細需求如下:
- 身為一個管理員,我希望有一個抽獎頁面讓我管理獎項
- 身為一個管理員,我希望可以在後台新增抽獎的品項(名字、圖片網址以及說明)以及機率
- 身為一個管理員,我希望可以在後台編輯抽獎的品項(名字、圖片網址以及說明)以及機率
- 身為一個管理員,我希望可以在後台刪除抽獎的品項
- 身為一個管理員,我希望在前台能夠抽出我在後台所設定的獎項
由於 API 的規則會跟第八週的 API 長不一樣,所以第八週的東西可能會有小幅調整。
總而言之呢,這週就是要做出一個抽獎的網站!如果你不想沿用第八週的作業的話,可以自由發揮。
如果你有注意到的話,上面的作業說明我有特別講說獎項可以設定的是「圖片網址」,這是因為如果是「圖片」的話,會涉及到圖片上傳,就會比較複雜一點。
因此呢,這題的延伸挑戰題就是要支援圖片上傳,可以考慮串接現成的 API 會比較容易,例如說 imgur,另外也推薦搭配 multer 這個 middleware 來做上傳功能。
- 什麼是 MVC?
- 請寫下這週部署的心得
- 寫 Node.js 的後端跟之前寫 PHP 差滿多的,有什麼心得嗎?
請將答案寫在 hw3.md。