摘要:技術(shù)棧項目背景這個項目主要是為了玩玩,項目的方向大概是做出類似的在線聊天系統(tǒng)。項目使用進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。首頁用戶列表用戶中心注冊登陸注銷用戶資料指定聊天室開始安裝使用之前,請在中修改的安裝路徑。
技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp
項目背景
這個項目主要是為了玩玩NodeJS,項目的方向大概是做出類似QQ的在線聊天系統(tǒng)。想要在線體驗可以點擊在線演示。
項目使用PM2進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。如果你覺得這個項目比較有趣,或者能對你有所幫助,歡迎給個Star。
項目地址:https://github.com/bergwhite/nchat
PS: 最近找工作,北京的歡迎聯(lián)系。另外之前做過一個基于Vue全家桶二次開發(fā)的V2EX社區(qū) https://github.com/bergwhite/v2ex-vue。
項目目錄
├─bin │ www // 啟動express ├─database │ index.js // MongoDB ├─public // 靜態(tài)文件 │ css │ index.css // 首頁CSS │ js │ index.js // 與socket服務(wù)進(jìn)行通訊(關(guān)鍵文件) | socket-server.js // socket服務(wù)(關(guān)鍵文件) │ img ├─routers │ index.js // 頁面路由 ├─view │ error.ejs // 錯誤頁 │ index.ejs // 首頁 │ userCenter.ejs // 用戶中心(規(guī)劃中) │ userList.ejs // 用戶列表(規(guī)劃中) ├─app.js // express ├─package.json // npm包
路由
目前只有/目錄和/room/:id正式使用了,其他路由的頁面還在迭代開發(fā)中。
/ // 首頁 /user // 用戶列表 /user/:id // 用戶中心 /user/:id/register // 注冊(JSON) /user/:id/login // 登陸(JSON) /user/:id/logout // 注銷(JSON) /user/:id/info // 用戶資料(JSON) /room/:id // 指定聊天室
開始安裝
使用之前,請在package.json中修改MongoDB的安裝路徑(--dbpath)。
git clone https://github.com/bergwhite/nodejs-chat // 克隆項目到本地 cd nodejs-chat // 進(jìn)入項目目錄 npm install // 安裝依賴 npm run build // 構(gòu)建線上代碼 npm run mongod // 啟動MongoDB服務(wù) npm run start // 啟動聊天室服務(wù)并啟動網(wǎng)站
項目演示
目前項目存在一個已知的bug,表情包無法在div模擬的輸入框中插入(修復(fù)中)。
匿名聊天
用戶聊天
成員&房間
離線通知
更多房間
房間獨立
已上線功能
跨瀏覽器,跨地域聊天(SocketIO自帶技能)
首次進(jìn)入會顯示歡迎信息
發(fā)送空消息會進(jìn)行提示
直接發(fā)送消息默認(rèn)昵稱為“神秘人”
發(fā)送消息后會清空當(dāng)前輸入框內(nèi)容,然后焦點回到消息輸入框
添加用戶名后會成為新用戶,然后告知全房間人有新用戶加入
可以創(chuàng)建不同的房間,不同的房間的聊天是相互獨立的
顯示當(dāng)前房間的在線用戶(設(shè)置了用戶名的)
顯示目前所有打開的房間
用戶(設(shè)置了用戶名的)離線會通知所有房間內(nèi)的成員
壓縮線上代碼,加快訪問速度
...
待上線功能
用戶名
統(tǒng)計匿名用戶
支持一鍵隨機(jī)獲取用戶名
頭像
訪客使用默認(rèn)頭像
新用戶(設(shè)置了用戶名的)隨機(jī)獲得一個頭像
新用戶換頭像可以從默認(rèn)的一組頭像中選擇
是否支持上傳頭像還在考慮中(安全性問題)
聊天
支持多組豐富的表情包
是否支持上傳圖片還在考慮中(安全性問題)
數(shù)據(jù)庫
對接MongoDB,新用戶(設(shè)置了用戶名的)設(shè)置密碼后,將從臨時用戶轉(zhuǎn)變?yōu)檎接脩?/p>
項目缺陷
界面丑(等功能完善了再考慮)
表情包無法在div模擬的輸入框中插入(修復(fù)中)
...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19024.html
摘要:技術(shù)棧項目背景這個項目主要是為了玩玩,項目的方向大概是做出類似的在線聊天系統(tǒng)。項目使用進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。首頁用戶列表用戶中心注冊登陸注銷用戶資料指定聊天室開始安裝使用之前,請在中修改的安裝路徑。 技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp 項目背景 這個項目主要是為了玩玩NodeJS,項目的方向大概...
摘要:技術(shù)棧覺得好的歡迎點個。前端后端部署演示全棧式的開發(fā)多人在線聊天室項目只適配了移動端,請使用瀏覽器的手機(jī)視圖查看。之前刪除了一個文件,但是沒有刪除中的對應(yīng)值。編譯時會報上面的錯誤。 技術(shù)棧 覺得好的歡迎點個star ^_^。 前端:Express & EJS & ES6 & Less & Gulp 后端:Express & SocketIO & MongoDB & REST API ...
摘要:系統(tǒng)結(jié)構(gòu)系統(tǒng)考慮使用和實現(xiàn)服務(wù)器端邏輯,前端使用。邏輯流程主要邏輯包括用戶進(jìn)入游戲等待對家進(jìn)入游戲游戲過程結(jié)束統(tǒng)計這個過程。 1. 系統(tǒng)結(jié)構(gòu) 系統(tǒng)考慮使用Nodejs和SocketIo實現(xiàn)服務(wù)器端邏輯,前端使用HTML5。showImg(https://segmentfault.com/img/remote/1460000007643089); 2. 邏輯流程 1 . 主要邏輯包括用戶...
摘要:系統(tǒng)結(jié)構(gòu)系統(tǒng)考慮使用和實現(xiàn)服務(wù)器端邏輯,前端使用。邏輯流程主要邏輯包括用戶進(jìn)入游戲等待對家進(jìn)入游戲游戲過程結(jié)束統(tǒng)計這個過程。 1. 系統(tǒng)結(jié)構(gòu) 系統(tǒng)考慮使用Nodejs和SocketIo實現(xiàn)服務(wù)器端邏輯,前端使用HTML5。showImg(https://segmentfault.com/img/remote/1460000007643089); 2. 邏輯流程 1 . 主要邏輯包括用戶...
閱讀 2002·2021-11-23 09:51
閱讀 901·2021-11-19 09:40
閱讀 856·2021-10-27 14:20
閱讀 5093·2021-10-09 09:52
閱讀 3331·2021-10-09 09:44
閱讀 1752·2021-10-08 10:05
閱讀 5183·2021-09-09 11:47
閱讀 3510·2019-08-30 12:47