前不久学了一点nodejs,萌生了用nodejs写一个聊天室的想法。首先呢,我去对聊天室的技术实现做了小小的调研,发现socket.io是主流的选择。于是上github,找到一个有300颗星的项目,以它为原型进行改造。原项目的地址是Wayou。
原项目实现了聊天室的基本功能,包括文字、emoji的发送,它的代码对我有很大启发和借鉴意义。在此基础上,我做了以下几方面的工作:
1,对原项目的代码结构做了一些调整,把server.js当中功能性的代码放入单独创建的function.js 里。并修改了一些源代码中的bug,且pull request 到Wayou中。
2,增加了用户注册和登录的功能,使用Myqsl数据库进行用户表管理。
3,加入日志管理,记录用户的登录和注销。
4,在文件中存放聊天记录,并支持未读消息的显示。
5,在聊天过程中,标签页上加入未读闪烁提醒。
6,加入cookie,七天之内免密码登录。
加入这些功能,使得该项目更丰满,更具有可用性,在这个过程中也收获了许多。当然,接下来还有许多要做的事情,包括实现单独对话(socket的namespace),用redis管理session等等。希望有兴趣的同学都够加入进来,我们一起做一个好玩,好用的产品,在这个过程中也提高自己的水平。我的项目地址是聊天室,欢迎大家来改bug、提交PR。