前不久學了一點nodejs匠襟,萌生了用nodejs寫一個聊天室的想法钝侠。首先呢,我去對聊天室的技術實現(xiàn)做了小小的調研酸舍,發(fā)現(xiàn)socket.io是主流的選擇帅韧。于是上github,找到一個有300顆星的項目啃勉,以它為原型進行改造忽舟。原項目的地址是Wayou。
原項目實現(xiàn)了聊天室的基本功能淮阐,包括文字叮阅、emoji的發(fā)送,它的代碼對我有很大啟發(fā)和借鑒意義泣特。在此基礎上浩姥,我做了以下幾方面的工作:
1,對原項目的代碼結構做了一些調整状您,把server.js當中功能性的代碼放入單獨創(chuàng)建的function.js 里勒叠。并修改了一些源代碼中的bug,且pull request 到Wayou中膏孟。
∶蟹帧2,增加了用戶注冊和登錄的功能骆莹,使用Myqsl數(shù)據(jù)庫進行用戶表管理颗搂。
3,加入日志管理幕垦,記錄用戶的登錄和注銷丢氢。
4,在文件中存放聊天記錄先改,并支持未讀消息的顯示疚察。
5,在聊天過程中仇奶,標簽頁上加入未讀閃爍提醒貌嫡。
6,加入cookie,七天之內(nèi)免密碼登錄岛抄。
加入這些功能别惦,使得該項目更豐滿,更具有可用性夫椭,在這個過程中也收獲了許多掸掸。當然,接下來還有許多要做的事情蹭秋,包括實現(xiàn)單獨對話(socket的namespace)扰付,用redis管理session等等。希望有興趣的同學都夠加入進來仁讨,我們一起做一個好玩羽莺,好用的產(chǎn)品,在這個過程中也提高自己的水平洞豁。我的項目地址是聊天室盐固,歡迎大家來改bug、提交PR族跛。