Skip to content
/ go-IM Public
forked from ZuoFuhong/ChatGPT-IM

使用纯Go开发,基于websocket的聊天(IM)系统,支持单用户多设备,离线消息同步。同时也是一个利于新手学习IM的简单案例

License

Notifications You must be signed in to change notification settings

wasgxu/go-IM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go语言开发基于websocket的聊天(IM)系统

本项目是由gim 项目fork而来,在此基础上进行了二次开发。目的在于开发一个基于websocket的聊天(IM)室, 并且支持单用户多设备支持,离线消息同步。在开发的过程中,砍掉了gim的gRPC、TCP服务端、Redis缓存等模块。同时,移除go.mod中大量的依赖, 仅保留了几个必须的包,其余均由纯go实现。

新增功能点

  • 1.A 新增好友列表
  • 2.A 新增web模块,提供RESTFul API`接口,可以用来注册设备、创建群组、添加用户、添加好友等。
  • 3.A 新增聊天室Demo,在example/web-im目录中提供一个H5实现的聊天室(仅测试过:chrome浏览器)。

演示Demo

B站视频地址

封面

Development

# clone the project
git clone [email protected]:ZuoFuhong/go-IM.git

# update dependency
go mod tidy

# build the project
make

# init the database
./doc/create_table.sql

License

The project is licensed under the MIT license.

About

使用纯Go开发,基于websocket的聊天(IM)系统,支持单用户多设备,离线消息同步。同时也是一个利于新手学习IM的简单案例

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 68.6%
  • HTML 14.7%
  • JavaScript 12.6%
  • CSS 3.7%
  • Makefile 0.4%