Day 1 - 前言

大家多少都聽過或是用過網路聊天室、交友軟體之類的吧?像是台灣人一定知道的 PTT,或是 Skout、BeeTalk、Tinder 等等族繁不及備載。
這次要挑戰我大學時期蠻流行的匿名一對一聊天網站「WooTalk 吾聊」,當時 Dcard 也正紅,但是礙於每天只能抽一張卡又不保證對方會接受的無奈感(?),這個神秘的網站就在我們宿舍間成為流行…。
我轉職為前端工程師剛滿一年,但除了產品介面的維護之外,還有很多常見的商務功能在工作上一直沒機會碰到,所以想藉由這次鐵人賽,讓自己好好消化一些知識, 並以「廢也要廢得完整」的精神,實踐一套簡單的產品架構,也記錄我的學習過程。
這 30 天的內容大概會這樣進行:
概念探索:
- 介紹 WebSocket
- 介紹 Socket.IO
- 實作簡易聊天室
專案規劃:
- 分析 WooTalk 之功能流程
- 技術選型分析
- 設計資料規格
實作:
- 建置 monorepo 架構
- 實作前端
- 實作後端
- 單元測試
- 部署專案
這次的 side project 我也盡量捏在 80/20 法則的範圍內,完全未知的部分是:
- WebSocket
- 測試
這些需要爬文研究與 AI 輔助來完建立基礎知識。其他則是我已經略知一二的技術,因此這次挑戰還算是有把握完成,剩下的就在開發過程中慢慢摸索吧!
整體的先備知識大概有:
- 一點點的 TypeScript
- 一點點的 React 和 Next
- 一點點的 Express
- 一點點的網路概論
真的,就只有一點點…

「在開發過程中慢慢摸索」才是隕石開發的醍醐味^O^
專案成果可以參考我的 GitHub,隨鐵人賽進度持續更新。