Files
open-im-server/README.md
T

152 lines
7.9 KiB
Markdown
Raw Normal View History

2023-07-12 12:28:18 +08:00
<p align="center">
2023-10-30 10:16:37 +08:00
<a href="https://openim.io">
2023-07-12 12:28:18 +08:00
<img src="./assets/logo-gif/openim-logo.gif" width="60%" height="30%"/>
</a>
</p>
2023-07-21 21:20:23 +08:00
<div align="center">
2023-06-29 22:35:31 +08:00
[![Stars](https://img.shields.io/github/stars/openimsdk/open-im-server?style=for-the-badge&logo=github&colorB=ff69b4)](https://github.com/openimsdk/open-im-server/stargazers)
[![Forks](https://img.shields.io/github/forks/openimsdk/open-im-server?style=for-the-badge&logo=github&colorB=blue)](https://github.com/openimsdk/open-im-server/network/members)
[![Codecov](https://img.shields.io/codecov/c/github/openimsdk/open-im-server?style=for-the-badge&logo=codecov&colorB=orange)](https://app.codecov.io/gh/openimsdk/open-im-server)
[![Go Report Card](https://goreportcard.com/badge/github.com/openimsdk/open-im-server?style=for-the-badge)](https://goreportcard.com/report/github.com/openimsdk/open-im-server)
[![Go Reference](https://img.shields.io/badge/Go%20Reference-blue.svg?style=for-the-badge&logo=go&logoColor=white)](https://pkg.go.dev/github.com/openimsdk/open-im-server/v3)
[![License](https://img.shields.io/badge/license-Apache--2.0-green?style=for-the-badge)](https://github.com/openimsdk/open-im-server/blob/main/LICENSE)
[![Slack](https://img.shields.io/badge/Slack-500%2B-blueviolet?style=for-the-badge&logo=slack&logoColor=white)](https://join.slack.com/t/openimsdk/shared_invite/zt-22720d66b-o_FvKxMTGXtcnnnHiMqe9Q)
[![Best Practices](https://img.shields.io/badge/Best%20Practices-purple?style=for-the-badge)](https://www.bestpractices.dev/projects/8045)
[![Good First Issues](https://img.shields.io/github/issues/openimsdk/open-im-server/good%20first%20issue?style=for-the-badge&logo=github)](https://github.com/openimsdk/open-im-server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22)
[![Language](https://img.shields.io/badge/Language-Go-blue.svg?style=for-the-badge&logo=go&logoColor=white)](https://golang.org/)
[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20OpenIM%20Guru-006BFF?style=for-the-badge)](https://gurubase.io/g/openim)
2024-04-28 12:13:12 +08:00
2024-02-02 19:47:16 +08:00
<p align="center">
2024-07-24 14:50:02 +08:00
<a href="./README.md">English</a> ·
<a href="./README_zh_CN.md">中文</a> ·
<a href="./docs/readme/README_uk.md">Українська</a> ·
<a href="./docs/readme/README_cs.md">Česky</a> ·
<a href="./docs/readme/README_hu.md">Magyar</a> ·
<a href="./docs/readme/README_es.md">Español</a> ·
<a href="./docs/readme/README_fa.md">فارسی</a> ·
<a href="./docs/readme/README_fr.md">Français</a> ·
<a href="./docs/readme/README_de.md">Deutsch</a> ·
<a href="./docs/readme/README_pl.md">Polski</a> ·
<a href="./docs/readme/README_id.md">Indonesian</a> ·
<a href="./docs/readme/README_fi.md">Suomi</a> ·
<a href="./docs/readme/README_ml.md">മലയാളം</a> ·
<a href="./docs/readme/README_ja.md">日本語</a> ·
<a href="./docs/readme/README_nl.md">Nederlands</a> ·
<a href="./docs/readme/README_it.md">Italiano</a> ·
<a href="./docs/readme/README_ru.md">Русский</a> ·
<a href="./docs/readme/README_pt_BR.md">Português (Brasil)</a> ·
<a href="./docs/readme/README_eo.md">Esperanto</a> ·
<a href="./docs/readme/README_ko.md">한국어</a> ·
<a href="./docs/readme/README_ar.md">العربي</a> ·
<a href="./docs/readme/README_vi.md">Tiếng Việt</a> ·
<a href="./docs/readme/README_da.md">Dansk</a> ·
<a href="./docs/readme/README_el.md">Ελληνικά</a> ·
<a href="./docs/readme/README_tr.md">Türkçe</a>
2024-02-02 19:47:16 +08:00
</p>
2023-05-10 23:17:13 +08:00
</div>
2023-05-10 23:17:13 +08:00
2023-05-13 18:03:50 +08:00
</p>
2024-04-25 14:21:32 +08:00
## :busts_in_silhouette: Join Our Community
2024-02-20 20:18:43 +08:00
2024-04-25 14:21:32 +08:00
+ 💬 [Follow us on Twitter](https://twitter.com/founder_im63606)
2024-05-10 10:58:59 +08:00
+ 🚀 [Join our Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-2ijy1ys1f-O0aEDCr7ExRZ7mwsHAVg9A)
2024-04-25 14:21:32 +08:00
+ :eyes: [Join our WeChat Group](https://openim-1253691595.cos.ap-nanjing.myqcloud.com/WechatIMG20.jpeg)
2024-02-20 20:18:43 +08:00
2023-10-08 10:16:42 +08:00
## Ⓜ️ About OpenIM
2023-06-29 22:35:31 +08:00
2024-04-25 14:21:32 +08:00
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.
2023-08-06 13:37:16 +08:00
2023-10-08 10:16:42 +08:00
![App-OpenIM Relationship](./docs/images/oepnim-design.png)
2023-08-06 15:39:06 +08:00
2024-04-25 14:21:32 +08:00
## 🚀 Introduction to OpenIMSDK
2023-08-06 15:39:06 +08:00
2024-04-25 14:21:32 +08:00
**OpenIMSDK**, designed for **OpenIMServer**, is an IM SDK created specifically for integration into client applications. It supports various functionalities and modules:
2023-08-06 13:37:16 +08:00
2024-01-08 21:40:04 +08:00
+ 🌟 Main Features:
2024-04-25 14:21:32 +08:00
- 📦 Local Storage
- 🔔 Listener Callbacks
- 🛡️ API Wrapping
- 🌐 Connection Management
2023-08-06 13:37:16 +08:00
+ 📚 Main Modules:
2024-01-08 21:40:04 +08:00
1. 🚀 Initialization and Login
2. 👤 User Management
2024-04-25 14:21:32 +08:00
3. 👫 Friends Management
2024-01-08 21:40:04 +08:00
4. 🤖 Group Functions
2024-04-25 14:21:32 +08:00
5. 💬 Session Handling
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
Built with Golang and supports cross-platform deployment to ensure a consistent integration experience across all platforms.
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
👉 **[Explore the GO SDK](https://github.com/openimsdk/openim-sdk-core)**
2023-08-06 13:37:16 +08:00
2024-04-26 17:05:54 +08:00
## 🌐 Introduction to OpenIMServer
2023-08-06 15:39:06 +08:00
2024-04-25 14:21:32 +08:00
+ **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.
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
### Enhanced Business Functions:
2024-02-02 19:47:16 +08:00
2024-04-25 14:21:32 +08:00
+ **REST API**: Provides a REST API for business systems to enhance functionality, such as group creation and message pushing through backend interfaces.
2024-02-02 19:47:16 +08:00
2024-04-25 14:21:32 +08:00
+ **Webhooks**: Expands business forms through callbacks, sending requests to business servers before or after certain events.
2024-02-02 19:47:16 +08:00
2024-04-25 14:21:32 +08:00
![Overall Architecture](./docs/images/architecture-layers.png)
2024-02-02 19:47:16 +08:00
2023-08-06 13:37:16 +08:00
## :rocket: Quick Start
2024-04-25 14:21:32 +08:00
Experience online for iOS/Android/H5/PC/Web:
2024-04-25 14:21:32 +08:00
👉 **[OpenIM Online Demo](https://www.openim.io/en/commercial)**
2024-04-25 14:21:32 +08:00
To facilitate user experience, we offer various deployment solutions. You can choose your preferred deployment method from the list below:
2023-08-06 13:37:16 +08:00
2023-10-30 21:26:11 +08:00
+ **[Source Code Deployment Guide](https://docs.openim.io/guides/gettingStarted/imSourceCodeDeployment)**
+ **[Docker Deployment Guide](https://docs.openim.io/guides/gettingStarted/dockerCompose)**
2023-08-06 15:08:11 +08:00
2024-04-25 14:21:32 +08:00
## System Support
2023-04-28 13:21:33 +08:00
2024-04-25 14:21:32 +08:00
Supports Linux, Windows, Mac systems, and ARM and AMD CPU architectures.
2023-05-11 23:35:26 +08:00
2024-04-25 14:21:32 +08:00
## :link: Links
2024-04-25 14:21:32 +08:00
+ **[Developer Manual](https://docs.openim.io/)**
+ **[Changelog](https://github.com/openimsdk/open-im-server/blob/main/CHANGELOG.md)**
2023-05-11 23:35:26 +08:00
2024-04-25 14:21:32 +08:00
## :writing_hand: How to Contribute
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
We welcome contributions of any kind! Please make sure to read our [Contributor Documentation](https://github.com/openimsdk/open-im-server/blob/main/CONTRIBUTING.md) before submitting a Pull Request.
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
+ **[Report a Bug](https://github.com/openimsdk/open-im-server/issues/new?assignees=&labels=bug&template=bug_report.md&title=)**
+ **[Suggest a Feature](https://github.com/openimsdk/open-im-server/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)**
+ **[Submit a Pull Request](https://github.com/openimsdk/open-im-server/pulls)**
2023-08-06 13:37:16 +08:00
2024-04-25 14:21:32 +08:00
Thank you for contributing to building a powerful instant messaging solution!
2023-05-10 23:40:41 +08:00
2024-04-25 14:21:32 +08:00
## :closed_book: License
2023-04-28 13:29:44 +08:00
2025-04-22 16:48:12 +08:00
This software is licensed under a dual-license model:
- The GNU Affero General Public License (AGPL), Version 3 or later; **OR**
- Commercial license terms from OpenIMSDK.
If you wish to use this software under commercial terms, please contact us at: contact@openim.io
For more information, see: https://www.openim.io/en/licensing
2025-02-05 08:28:22 +08:00
2023-08-06 13:37:16 +08:00
2023-08-06 15:08:11 +08:00
2023-08-06 13:37:16 +08:00
2023-08-06 15:08:11 +08:00
## 🔮 Thanks to our contributors!
2023-06-29 22:35:31 +08:00
<a href="https://github.com/openimsdk/open-im-server/graphs/contributors">
<img src="https://contrib.rocks/image?repo=openimsdk/open-im-server" />
2023-08-06 15:08:11 +08:00
</a>