项目简介
GIM 是一个网页版即时聊天系统,界面简约美观、操作简单,便于进行二次开发。此系统专注于开发人员的技术交流,摒弃了微信、QQ 等大众化功能,着重于交流学习。
项目的主要特性和功能
后端技术栈
- Golang 1.21+
- MySQL 5.7+
- Redis 5.0+
- Minio
- Nsq
前端技术栈
- Vue3
- Naive UI
- Ts
功能特性
- 支持基本的注册登录与常见的增删改查操作。
- 采用 WebSocket 进行通信。
- 支持私聊、群聊和房间聊天场景。
- 具备服务水平扩展能力。
- 聊天消息类型丰富,有文本、代码块、图片及其他类型文件。
- 支持聊天消息的撤回、删除、批量删除、转发(逐条转发、合并转发)及群投票功能。
- 支持编写个人笔记。
- 支持绑定远程代码仓库。
- 支持容器化部署和 k8s 容器编排。
安装使用步骤
配置参数
拷贝项目根目录下 config.example.yaml 文件为 config.yaml 并正确配置相关参数
bash
$ cp config.example.yaml config.yaml # 请务必正确配置相关参数
安装依赖包
bash
$ go mod tidy
安装相关依赖命令行工具
bash
$ make install
初始化数据库
bash
$ go run ./cmd/gim migrate
开发环境下启动服务
打开两个终端,分别运行下面两个命令
bash
$ go run ./cmd/gim http # 本地启动 http 服务
$ go run ./cmd/gim commet # 本地启动 websocket 服务
编译后运行
bash
$ make build # 执行编译命令
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】