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