Go to file
Monet Lee 28898f5b79
feat: implement server-initiated heartbeat in msgGateway module (#2404)
* feat: implement send ping msg when platform is web in gateway.

* add context life cycle control.

* feat: implement heartbeat logic in msggateway.

* update heartbeat logic.

* update to correct method name and comment.

* update initiate heartbeat logic.

* rename ws_server

* update writePingMsg logic

* update log level to warn.
2024-07-10 07:48:12 +00:00
.github Delete .github/dependabot.yml 2024-05-15 15:42:35 +08:00
CHANGELOG cicd: bump League Patch (#2025) 2024-03-08 02:28:48 +00:00
assets feat: Enhance Script Details and Add MacOS Compatibility with Documentation Updates (#1794) 2024-01-21 02:49:08 +00:00
build refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
cmd refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
config Fix token (#2403) 2024-07-09 10:17:44 +00:00
deployments refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
docs Simplify the contribution process 2234 (#2244) 2024-04-26 19:29:55 +08:00
internal feat: implement server-initiated heartbeat in msgGateway module (#2404) 2024-07-10 07:48:12 +00:00
pkg Fix token (#2403) 2024-07-09 10:17:44 +00:00
scripts Add a retry mechanism to mongo init (#2328) 2024-06-03 12:27:43 +00:00
test refactor: db refactor and cache key add. (#2320) 2024-05-27 03:58:36 +00:00
tools Etcd naming and discovery (#2300) 2024-05-14 10:21:36 +00:00
.dockerignore 3.6.1 code conventions (#2202) 2024-04-24 12:11:24 +08:00
.env Etcd naming and discovery (#2300) 2024-05-14 10:21:36 +00:00
.gitattributes remove \r 2024-04-22 16:31:11 +08:00
.gitignore refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
.golangci.yml refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
CHANGELOG.md feat: add link file 2023-07-10 18:19:25 +08:00
CODE_OF_CONDUCT.md Feat/add test scripts (#1341) 2023-11-05 10:36:37 +00:00
CONTRIBUTING-zh_CN.md Update CONTRIBUTING-zh_CN.md 2024-05-15 15:53:48 +08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-05-15 15:56:14 +08:00
Dockerfile update gomake version (#2386) 2024-07-03 06:27:16 +00:00
LICENSE v3 - main to cut out 2023-06-29 22:35:31 +08:00
README.md Update README.md 2024-05-10 10:58:59 +08:00
README_zh_CN.md Update slack invite link 2024-04-25 19:47:42 +08:00
bootstrap.bat refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
bootstrap.sh 3.6.1 code conventions (#2202) 2024-04-24 12:11:24 +08:00
docker-compose.yml Etcd naming and discovery (#2300) 2024-05-14 10:21:36 +00:00
go.mod fix:log (#2396) 2024-07-04 11:58:41 +00:00
go.sum fix:log (#2396) 2024-07-04 11:58:41 +00:00
install.sh fix: reconstruct the script of 'make start' 'make stop' and 'make check' (#1953) 2024-02-27 09:58:54 +00:00
magefile.go Skip minio check (#2281) 2024-05-07 21:05:41 +08:00
magefile_unix.go refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
magefile_windows.go refactor: 3.7.0 code conventions. (#2148) 2024-04-19 22:23:08 +08:00
start-config.yml update go.mod go.sum (#2210) 2024-04-24 15:42:43 +08:00

README.md

👥 Join Our Community

Ⓜ️ About OpenIM

Unlike standalone chat applications such as Telegram, Signal, and Rocket.Chat, OpenIM offers an open-source instant messaging solution designed specifically for developers rather than as a directly installable standalone chat app. Comprising OpenIM SDK and OpenIM Server, it provides developers with a complete set of tools and services to integrate instant messaging functions into their applications, including message sending and receiving, user management, and group management. Overall, OpenIM aims to provide developers with the necessary tools and framework to implement efficient instant messaging solutions in their applications.

App-OpenIM Relationship

🚀 Introduction to OpenIMSDK

OpenIMSDK, designed for OpenIMServer, is an IM SDK created specifically for integration into client applications. It supports various functionalities and modules:

  • 🌟 Main Features:

    • 📦 Local Storage
    • 🔔 Listener Callbacks
    • 🛡️ API Wrapping
    • 🌐 Connection Management
  • 📚 Main Modules:

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

Built with Golang and supports cross-platform deployment to ensure a consistent integration experience across all platforms.

👉 Explore the GO SDK

🌐 Introduction to OpenIMServer

  • OpenIMServer features include:
    • 🌐 Microservices Architecture: Supports cluster mode, including a gateway and multiple rpc services.
    • 🚀 Diverse Deployment Options: Supports source code, Kubernetes, or Docker deployment.
    • Massive User Support: Supports large-scale groups with hundreds of thousands, millions of users, and billions of messages.

Enhanced Business Functions:

  • REST API: Provides a REST API for business systems to enhance functionality, such as group creation and message pushing through backend interfaces.

  • Webhooks: Expands business forms through callbacks, sending requests to business servers before or after certain events.

    Overall Architecture

🚀 Quick Start

Experience online for iOS/Android/H5/PC/Web:

👉 OpenIM Online Demo

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

System Support

Supports Linux, Windows, Mac systems, and ARM and AMD CPU architectures.

✍️ How to Contribute

We welcome contributions of any kind! Please make sure to read our Contributor Documentation before submitting a Pull Request.

Thank you for contributing to building a powerful instant messaging solution!

📕 License

OpenIMSDK is available under the Apache License 2.0. See the LICENSE file for more information.

🔮 Thanks to our contributors!