Simple Twitter 專案回顧

第一次以工程師的角色,開啟多人協作專案

Bobo
Oct 2, 2021

一直以來在職場上都是以 PM 的角色開啟專案,終於在今年自學 coding 的課程結業前,迎來期待又害怕許久的 Simple Twitter 專案,擔任工程師的角色。

專案目標:在兩週時限內使用前後分離模式開發簡易推特社群網站

開發語言與框架:前端使用 Vue,後端使用 Express + MySQL

負責項目:後端開發(包含資料庫建置、後台功能與前台部分功能)與 API 部分文件撰寫

專案 Kick-off Meeting

夥伴們的線上相見歡,簡單互相認識後,很快速就訂定了幾項事務與目標:

。Git flow 協作流程:主要使用 master-develop-feature 三層架構,但由於先前都沒有協作經驗,所以前後端組員還是分頭開 repo 練習,雖然最後似乎還是沒有按照較正規的作法,但透過這次經驗對於 GIT 的流程又有更進一步的認識。

。定時檢視並交流專案狀態:最後實作上很慶幸組員們幾乎是處於秒回狀態,因此在對焦與溝通上都很順暢。

。協作工具:Slack (即時訊息分享與溝通), Trello(開發進度與會議記錄), Google Sheet(元件拆分、 API 分工、驗測劇本)

。視訊會議:Jitsi Meet, Google Meet

與後端組員的協作

之前的作業都是用 Promises,這次特別與組員提出想要以 async /await 的方式撰寫,雖然使用不同的寫法也沒有衝突,不過最後還是商討統一寫法看起來程式碼會較一致;而資料庫由我建置後,組員定義種子資料,接著開發功能的分工,採用 controller 的分法(考量:檔案衝突點少,功能連貫,能避免更動同一支檔案),我先負責 admin 後台與 user 相關的 api,另一位後端則從 tweet, reply 下手,過程中都蠻順利,遇到問題都能即時討論做法並達成共識,在卡關時也能互相 cover 找到盲點。

好物推薦:後端 API 文件這次使用 apiary 撰寫,使用 markdown 語法很是方便,後期觀察前端串 api 時的提問後,發現提供給前端其實還需要更實際的狀態碼、回傳內容、body、Content-Type …等,越詳細就越能減少溝通成本!

與前端組員的協作

與前端的協作是專案中覺得最新奇與最富挑戰的地方,因為前端會先進行元件與切版的製作,而在開發 API 時只先依照設計稿及想像力來 query 並給予資料,利用 postman 測試加上跑測試檔綠燈後就先過,但在實際串接時才發現前端需要的資料或格式跟當初想像不同,因而需要做更多的討論或調整,很 respect 前端的介面與資料串接,最期待的就是組員說 ok 的時候,看到畫面上有資料是一件很有成就感的事!

好物推薦:前期測試時考量到還需大量改動程式碼,因此前後端的串接測試時決議先使用 ngrok 工具(可以將 localhost 對應一組 http / https domain),簡單快速!

simple twitter

黑客松

在指定規格完成後,緊接著就是為期一整個週末的黑客松挑戰,其實在指定規格到期日前一晚,全組都還因為在做部分調整一起奮戰到半夜,但隔天大家還是很有毅力的上 google meets 即時邊讀 socket.io 的官方文件邊討論邊瞎聊,即使最後只完整做完挑戰一,但還是收穫很多也做得很開心!

專案心得

原先一直各種擔心這次的專案實作會做不完或是大卡關之類的,但實際投入後覺得其實協作專案除了技術力外,更多的時間講求的是團隊如何溝通、協調,順利的推動專案直到上線,因此要謝謝有緣的組員們讓我能有這次寶貴的經驗!

--

--