Simple Twitter 專案

Young4ever
Mar 15, 2022

--

simple twitter 成品
- 前端 repo
- 後端 repo
- 成品 demo
使用體驗帳密,或直接註冊一組新的
帳: user1
密: 12345678

遊戲規則

主題: 從無到有實作出簡易 Twitter
線索:
一份 User Stories 、一份UI設計稿
組隊:
前後端分離或全端開發,要自己找隊友
時間:
兩週
闖關:
最後一天中午12點前提交成品並通過AC的PR
破關: AC 助教評審

組隊
我們是前後分離的隊伍,兩位前端,兩位後端。應用的技術:

  • 前端: Node.js + Vue.js,抓取後端的API,佈署在Gitpage 。
  • 後端: Node.js + Express.js,生產API路由、MySQL 資料,佈署在 Heroku。

我負責的部分:
負責後端API路由開發、製作ERD、開後端repo、基礎架構建置、雲端佈署。

用quickdatabase繪製的ERD

前置作業

隊友很有心創了Slack 的空間,溝通絕大部分都在這上面,前後端都有各自的房間可以討論,如果牽涉到所有人則會在全端的空間討論,原本初期成團的時候還有建了Trello ,但後來大家都忙翻了所以後期就沒什麼在維護,另外我自己也有在習慣的筆記軟體做筆記,像測試、GIT等常用指令。

開發過程

因為都是初次接觸前後端分離的專案,隊員也是臨時組成彼此也都還不太熟悉,所以按照AC的建議,準備了以下文件讓專案能順利:

  1. 系統分析文件
  2. Acceptance criteria & DoD — 完成指標
  3. Task list — 任務清單

遇到的難題 1 - git 指令

針對git 指令有先整理成常用指令集,但每次開分支merge 主支的時候其實心裡都會有點抖,想著這裡conflict 的話會不會就回不去了之類自己嚇自己的想法,所以開發前期修改了某個地方要換其他分支的時候都會先回復到原始的狀態,後來實在受不了直接新開一個test專案,模擬git 操作,發現VSCode 其實會幫你把conflict 的地方紅標出來,這個發現讓我後面幾天的開發速度快了不少 :)

遇到的難題 2 - 後端隊友身體不適

後端原本分配的工作內容,基礎架構包含種子資料、model的架設是由另一位隊友負責,等個半天差不多可以好,如果有問題在 local 跑測試檔應該也會有提示可以提出討論。後來連繫後得知尚未開始進行專案,隊友身體狀態不佳本身也有另外的工作,所以我幫忙分擔這部分,也順便接下了隊友的其他幾條路由,但這一來一往也延後了一些時間,差點以為就要完成不了專案。(好險平常有在運動體力還可以應付XD)

遇到的難題 3 - 前後端API串接

在現在回顧,果然還是敗在沒有經驗,遇到的問題是前端上傳檔案,但後端不管如何都接不到,然後前後端都不知道是錯在哪QQ,最後只能求助助教,結果是死在檔案回傳的型態,後端是用陣列(array)來接,但前端是用物件(object) 拋資料,這部分其實應該是前期在討論API文件的時候就要討論到的,只是那時候大家一下面對海量的user story 跟sprint check 的 deadline就忽略掉了一些地方。

反思

Photo by Roman Synkevych on Unsplash

開賽時,很奇妙心情,面對未知的焦慮參雜著一絲絲興奮感。然後兩週的生活就如上圖所示,吃飯睡覺打code的規律。如果能重來一次,覺得最重要且最有效率的地方就是先讀測試檔,以MVP的精神通過測試後再來延伸想實作的功能,對兩位前端在後端delay 的情況下還很carry把資料串接完成,而且通過專案,相信兩位前端Miki、Abbie 之後在業界衣錠都會發展得很好,也感謝後端的另一位隊友伍隻讓我加入團隊,身體要好好休養,API文件的撰寫很詳細讓進度推進不少,這次的經驗真的太難忘了~~~

--

--

Young4ever

用體驗丈量著世界,看著冰山的好幾角。