Refer to config/config.yaml
for configuration instructions
- This repository implement a business system, which consists of two parts: User related function and background management function
- The business system depends on the api of the im system (Open-IM-Server repository) and implement various functions by calling the api of the im system
- User related part includes some regular functions like user login, user register, user info update, etc.
- Background management provides api for admin to manage the im system containing functions like user management, message mangement,group management,etc.
Note: You can get started quickly with OpenIM Chat.
git clone https://github.com/OpenIMSDK/chat openim-chat && export openim-chat=$(pwd)/openim-chat && cd $openim-chat && make
If you wish to deploy chat, then you should first install and deploy OpenIM, this Open-IM-Server repository
git clone -b release-v3.1 https://github.com/OpenIMSDK/Open-IM-Server.git openim && export openim=$(pwd)/openim && cd $openim
sudo docker compose up -d
Installing Chat
make install
Note: You can get started quickly with chat.
Note: We need to run the backend server first
make build
Be good at using Makefile, it can ensure the quality of your project.
Usage: make <TARGETS> ...
Targets:
all Build all the necessary targets. 🏗️
build Build binaries by default. 🛠️
go.build Build the binary file of the specified platform. 👨💻
build-multiarch Build binaries for multiple platforms. 🌍
tidy tidy go.mod 📦
style Code style -> fmt,vet,lint 🎨
fmt Run go fmt against code. ✨
vet Run go vet against code. 🔍
generate Run go generate against code and docs. ✅
lint Run go lint against code. 🔎
test Run unit test ✔️
cover Run unit test with coverage. 🧪
docker-build Build docker image with the manager. 🐳
docker-push Push docker image with the manager. 🔝
docker-buildx-push Push docker image with the manager using buildx. 🚢
copyright-verify Validate boilerplate headers for assign files. 📄
copyright-add Add the boilerplate headers for all files. 📝
swagger Generate swagger document. 📚
serve-swagger Serve swagger spec and docs. 🌐
clean Clean all builds. 🧹
help Show this help info. ℹ️
Note: It's highly recommended that you run
make all
before committing your code. 🚀
make all
./scripts/start_all.sh
./scripts/check_all.sh
./scripts/stop_all.sh
Contributions to this project are welcome! Please see CONTRIBUTING.md for details.
We want anyone to get involved in our community, we offer gifts and rewards, and we welcome you to join us every Thursday night.
We take notes of each biweekly meeting in GitHub discussions, and our minutes are written in Google Docs.
The user case studies page includes the user list of the project. You can leave a 📝comment to let us know your use case.
chat is licensed under the Apache 2.0 license. See LICENSE for the full license text.