紀錄自己研究 WebSocket 並實作簡易的匿名聊天室的過程。以 WooTalk 為參考對象來實作整個專案,包含前端、後端、測試、部署。
接下來要實作聊天功能的元件!切版部分就不會提太多細節,會以元件的設計思路為主~ 佈局分析 回想一下 WooTalk 的聊天功能,內容大概由 3 個元件組成:...
基本的配對邏輯在先前已經有 Stackblitz 的範例了,來先試著搬過來!範例中的命名會取得比較簡短好懂,但接下來會有比較多交互行為,命名就不能太隨意,所以...
終於來到後端服務的重頭戲,目前會先以本機 DB 來開發為主,等有一定的完成度再接上雲端的 MongoDB Atlas。 Docker 容器 利用 Docker...
知道如何定義資料之後,就可以將 Socket.IO 的事件和資料庫做串接了! MVP 程度的功能需要有: 配對成功 收發訊息 取消配對(在等待配對途中按下離...
接下來只剩聊天功能了!這部分的功能相對單純,但讀訊息的流程會稍微複雜一點。 發送訊息 我將發送訊息設計成兩段邏輯: createChatMessage:對...
終於來到 MVP 的最後一關! 接下來要整合實作好的後端功能,把在 index.html 確認過的事件流程搬過來。 :::warning index.html...
聊天功能來了!這部分開發完成後,本機端就差不多可以運行所有的核心功能了。 收發訊息 一樣讓 on 和 emit 驅動這個事件 CHAT_EVENT.SEND...
目前已經順利做到 MVP 的程度了,今天就來點輕鬆回(ㄐㄧㄢˇ)顧(ㄊㄠˇ)吧! 邊做邊改是正常的嗎 正式開發時一定會發現原本的規劃有地方需要做調整,例如事件...
不論是手動去操作產品,或是寫單元測試、腳本來測試,做出來的東西都需要被經過「驗證」,才算是做完了。在比較嚴格的委託中,乙方也會被要求專案必須通過一定程度的測試...
做完 service 的測試後,接下來要對 model 與 socket 這些同樣重要的業務邏輯做測試,雖然測試的寫法很固定,但當中也會有和 service...