Simple Twitter專案(JWT登入憑證、MYSQL、前後分離協作、Git、Code Review、Scrum流程) [ Alpha Camp學期三後端 ]
專案介紹: 後端專案連結 複刻Twitter的簡易版功能。除了複習這學期所學,這個專案最主要在體驗前後分離協作及如何在時間壓力下走完Scrum流程。 以往在Alpha Camp的學習雖然助教、同學環繞、有問題能即時詢問討論,但所有專案或作業都是一人獨力完成,這是個難得的機會能在學習階段就體驗團隊協作時與前端溝通理解如何互相配合彼此的工作與理解對方方便的資料、與後端夥伴Git協作怎麼避免不必要的conflict與如何分工和互相cover。 擔任角色與完成項目 在前後分離組裡擔任後端工程師角色,在此專案中負責: 共用檔案設置、資料庫Model建置、種子資料建置、本地端Model unit test、遠端travis自動化測試 為了避免不必要的conflict,在Scrum流程第一階段工作分配上決定unit test測試檔中,我負責完成與資料庫有關的建置並通過測試,另一組員負責與路由設定有關的RESTful API規劃。除了資料庫,有許多共同檔案的建置也由我一併完成。 (GitHub repo設置、README.md撰寫、Heroku repo設置、第一條給前端測試連線用API產出、資料庫Model建置並確定符合unit test要求、種子資料建置、登入認證錯誤處理相關檔案建置、確認後端專案完成後符合自動化測試要求) 協作路由coding與API Doc 在Scrum第二階段工作分配上,我負責與user-controller所有路由,另一組員負責其他所有路由。由於我進度較快,reply-controller路由也一併由我完成。 協作 refactor、debug 在Scrum第三階段,由於在前兩階段大量的code review,發現彼此除了coding邏輯、方式、風格不同外,也發現API產出的資料結構和類似狀況時錯誤訊息不同。討論過後決定要統一資料結構與錯誤訊息,避免造成前端的困擾。 這一階段也是再次檢查所有的API是否有問題,並交付給前端組員使用,發現問題立即調整。 git指令 由於多數組員對於git指令皆不熟悉,在專案開始前我先製作大部分這個專案會用到的指令清單。也由於我個人進度較快,在組員有git指令相關問題、前端gh-pages建置問題時,由我這裡即時提供指令步驟與觀念釐清。 專案中特別練習技術與套件 使用MYSQL建置關聯性資料庫,並使用sequelize操作資...