ABD 是一个即时通讯示例项目,包含:
backend/:Go 实现的 IM 后端(HTTP API + WebSocket)frontend/web/:React + Vite 实现的前端页面
.
├── backend/ # 后端服务与压测脚本
└── frontend/web/ # 前端应用
- 用户注册、登录与基础资料接口
- 好友与群组相关接口
- 消息发送与会话拉取接口
- WebSocket 长连接
- Prometheus 指标暴露
主要技术栈:Go、Gin、Gorilla WebSocket、MySQL、Redis、Kafka、GORM。
cd backend
make run默认配置文件:/home/runner/work/abd/abd/backend/config/config.yaml
cd frontend/web
npm install
npm run devcd backend/deployments/build
docker-compose up -d
docker-compose logs -f backend# 后端
cd backend
go test ./...
# 前端
cd frontend/web
npm run lint
npm run build说明:仓库中部分后端测试依赖外部 Redis/Kafka 环境。
ABD is an instant messaging demo project with:
backend/: Go-based IM backend (HTTP API + WebSocket)frontend/web/: React + Vite web client
.
├── backend/ # backend service and stress test scripts
└── frontend/web/ # frontend application
- User registration, login, and profile APIs
- Friend and group APIs
- Message sending and conversation pulling APIs
- WebSocket long-lived connections
- Prometheus metrics endpoint
Main stack: Go, Gin, Gorilla WebSocket, MySQL, Redis, Kafka, and GORM.
# Backend
cd backend
make run
# Frontend
cd frontend/web
npm install
npm run dev# Backend
cd backend
go test ./...
# Frontend
cd frontend/web
npm run lint
npm run buildNote: some backend tests require external Redis/Kafka services.