即时通讯IM
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
AndrewZuo01 955520471f
Rename devcontainer.json to devcontainer.json (#1756)
12 months ago
.devcontainer Rename devcontainer.json to devcontainer.json (#1756) 12 months ago
.devcontainer Rename devcontainer.json to devcontainer.json (#1756) 12 months ago
.github 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
CHANGELOG 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
assets 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
build fix: release openim version not auto build (#1660) 12 months ago
cmd 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
config feature:grafana web inside (#1636) 1 year ago
deployments update usercommand and fix callback (#1681) 12 months ago
docs 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
internal fix: GroupApplicationRejectedNotification not notification apply for userID (#1740) 12 months ago
pkg 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
scripts 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
test 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
tools 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
.dockerignore Ⓜ️feat: openim docker fix (#1502) 1 year ago
.gitignore feat: Add OpenIM server, environment support for Docker Compose, and Kubernetes deployment. (#1559) 1 year ago
.golangci.yml docs: add openim cluster helm chart (#1291) 1 year ago
CHANGELOG.md feat: add link file 1 year ago
CODE_OF_CONDUCT.md Feat/add test scripts (#1341) 1 year ago
CONTRIBUTING.md ☀️ feat: Enhancing OpenIM with Integrated E2E Testing and CI/CD Enhancements (#1359) 1 year ago
Dockerfile Ⓜ️feat: openim docker fix (#1502) 1 year ago
LICENSE v3 - main to cut out 2 years ago
Makefile Update openimci.yml (#1610) 1 year ago
README-zh_CN.md update: update readme (#1714) 12 months ago
README.md 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
docker-compose.yml 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
go.mod fix: fix the GetSortedConversationList (#1725) 12 months ago
go.sum fix: fix the GetSortedConversationList (#1725) 12 months ago
go.work 🚀 Enhancements in Offline Deployment Documentation, CICD Process Upgrades, Deployment Optimization, and Additional Fixes (#1721) 12 months ago
install.sh Ⓜ️feat: openim docker fix (#1502) 1 year ago

README.md

Ⓜ️ About OpenIM

OpenIM is a service platform specifically designed for integrating chat, audio-video calls, notifications, and AI chatbots into applications. It provides a range of powerful APIs and Webhooks, enabling developers to easily incorporate these interactive features into their applications. OpenIM is not a standalone chat application, but rather serves as a platform to support other applications in achieving rich communication functionalities. The following diagram illustrates the interaction between AppServer, AppClient, OpenIMServer, and OpenIMSDK to explain in detail.

App-OpenIM Relationship

🚀 About OpenIMSDK

OpenIMSDK is an IM SDK designed for OpenIMServer, created specifically for embedding in client applications. Its main features and modules are as follows:

  • 🌟 Main Features:

    • 📦 Local storage
    • 🔔 Listener callbacks
    • 🛡️ API wrapping
    • 🌐 Connection management

    📚 Main Modules:

    1. 🚀 Initialization and Login
    2. 👤 User Management
    3. 👫 Friend Management
    4. 🤖 Group Functions
    5. 💬 Conversation Handling

It is built using Golang and supports cross-platform deployment, ensuring a consistent access experience across all platforms.

👉 Explore GO SDK

🌐 About OpenIMServer

  • OpenIMServer has the following characteristics:
    • 🌐 Microservice architecture: Supports cluster mode, including a gateway and multiple rpc services.
    • 🚀 Diverse deployment methods: Supports deployment via source code, Kubernetes, or Docker.
    • Support for massive user base: Super large groups with hundreds of thousands of users, tens of millions of users, and billions of messages.

Enhanced Business Functionality:

  • REST API: OpenIMServer offers REST APIs for business systems, aimed at empowering businesses with more functionalities, such as creating groups and sending push messages through backend interfaces.
  • Webhooks: OpenIMServer provides callback capabilities to extend more business forms. A callback means that OpenIMServer sends a request to the business server before or after a certain event, like callbacks before or after sending a message.

👉 Learn more

🚀 Quick Start

🤲 To facilitate user experience, we offer various deployment solutions. You can choose your deployment method from the list below:

🛠️ To Start Developing OpenIM

Open in Dev Container

OpenIM Our goal is to build a top-level open source community. We have a set of standards, in the Community repository.

If you'd like to contribute to this Open-IM-Server repository, please read our contributor documentation.

Before you start, please make sure your changes are in demand. The best for that is to create a new discussion OR Slack Communication, or if you find an issue, report it first.

👥 Community

📆 Community Meetings

We want anyone to get involved in our community and contributing code, we offer gifts and rewards, and we welcome you to join us every Thursday night.

Our conference is in the OpenIM Slack 🎯, then you can search the Open-IM-Server pipeline to join

We take notes of each biweekly meeting in GitHub discussions, Our historical meeting notes, as well as replays of the meetings are available at Google Docs 📑.

👀 Who Are Using OpenIM

Check out our user case studies page for a list of the project users. Don't hesitate to leave a 📝comment and share your use case.

📄 License

OpenIM is licensed under the Apache 2.0 license. See LICENSE for the full license text.

The OpenIM logo, including its variations and animated versions, displayed in this repository OpenIM under the assets/logo and assets/logo-gif directories, are protected by copyright laws.

🔮 Thanks to our contributors!