Hello! 即時通

Avatar of 顏煜展.
Avatar of 顏煜展.

Hello! 即時通

Backend Developer
Taichung City, Taiwan

Hello! 即時通

GitHubMediumDemo

獨立全端開發專案,靈感來自於 1998 年 Yahoo 推出的即時通訊軟體,使用者可以建立個人檔案,並融入聊天大廳、線上交友等元素,提供簡單易用的社交環境。

測試帳號 - 使用者:[email protected]、管理員:[email protected]、密碼:12345678


  • Express 為後端框架進行開發,路由設計符合 RESTful 風格。
  • Handlebars 作為 template engine 協助渲染前端畫面,並用 Boostrap 美化。
  • 選擇 MySQL 搭配 Sequelize ORM,設計資料表關聯,存放使用者資料、歷史訊息及公告等,並活用 CRUD,實現各項功能。
  • 使用 Socket.io 搭配 DOM 元素之操作,實現公開與私人即時聊天功能。
  • 應用 Passport-LocalStrategy 結合 cookie-session,實現使用者身分驗證,並過濾身分權限,達到前後台功能分離。
  • 結合 multer 及 imgur 提供之 api,處理使用者上傳之圖片,完成使用者個人檔案編輯功能。
  • 使用 AWS 提供之 EC2、RDS 服務,佈署專案。

Hello! 即時通登入頁,應用 Passport-LocalStrategy 結合 cookie-session,實現使用者身分驗證。

使用者的好友列表,介面展示使用者圖片、姓名及最新動態消息,可連結至該使用者個人資訊頁、私人訊息頁及刪除使用者,並有分頁以及依姓名搜尋使用者功能。

公告欄,使用者可查看所有公告,依最新發布日期排序,可連結至該文章詳細內容,並有分頁以及依標題搜尋文章功能。

 

使用者個人資訊頁,可查看詳細使用者資料,並連結至編輯個人資料、新增好友、傳送私人訊息頁面。

使用者可在此頁面依帳號搜尋其他使用者,進入該使用者個人資訊頁。

聊天大廳頁面,使用 Socket.io 搭配 DOM 元素之操作,實現即時聊天功能。使用者可在此頁傳送公開聊天訊息,並查看歷史訊息紀錄

私人聊天頁面,運用 Socket.io 提供之 room 功能,實現一對一私人聊天,並可查看歷史訊息。

後台管理公告介面,只有管理員可以使用後台功能,在此介面可以發布新公告、編輯及刪除公告。

後台管理使用者介面,在此介面可以管理使用者權限。

獨立全端開發專案,靈感來自於 1998 年 Yahoo 推出的即時通訊軟體,使用者可以建立個人檔案,並融入聊天大廳、線上交友等元素,提供簡單易用的社交環境。
Avatar of the user.
Please login to comment.

Published: Oct 6th 2023
51
6
0

Tools

javascript
JavaScript
github
GitHub
handlebars
Handlebars
html5
HTML5
nodejs
Node.js
npm
npm
sequelize
Sequelize
mysql
MySQL
bootstrap
Bootstrap
express
Express
amazonwebservices
Amazon Web Services

Node.js / Express

Share