![]() |
![]() |
![]() |
![]() |
npm install
npm run start
cd server
npm install
npm run start
- 創建帳號、個人檔案 (頭像、自介等)
- 加好友、創建群組
- 即時訊息、上線狀態
- Login session (可避免每次重新登入)
- 傳送圖片、表情符號、圖片嵌入 (image embedding)
- ReactJS
- Sass
- Chakra UI
- Framer Motion (動畫)
- Formik (表單驗證)
- Node.js
- Express
- Socket.io
- Redis
- PostgreSQL
- 用戶帳號資料存儲於 PostgreSQL,包括:
- 用戶 ID
- 用戶名
- 密碼 Hash
- 頭像
- 個人簡介
- 登錄時,使用
express-session
+ Redis 儲存 session,使用戶可在一週內免重新登入。
- 訊息透過
socket.io
即時廣播給其他用戶。 - 訊息同時存入 Redis,以提高讀取速度。
- 群組及好友關係數據存儲於 Redis,提高存取效能。
- PostgreSQL 主要用於存儲帳號資料。
- 使用 Chakra UI 建立 UI。
- 利用 Framer Motion 提供動畫效果,例如:
- 載入畫面 Logo 動畫
- 新訊息彈出動畫
- 採用 Docker 容器,提高系統相容性與可擴展性。