此為 Angular Signals + @ngrx/signals + websocket 的小專案,主要練習使用 @ngrx/signals 做狀態管理。
若想練習 web socket 或其他框架的實現,可搭配 chat-app-backend 這個後端專案。
- 大廳功能 (多對多)
- 私訊功能 (一對一)
- 好友即時上線狀態
- 回覆指定訊息
- 收回訊息 & 恢復訊息
- 已讀功能
- 新訊息通知
- 傳送圖片 (支援截圖貼上)
前端的資料狀態都是藉由 websocket 與後端做即時溝通。
webscoket 接收畫面
前端 ChatStore 結構組成