diff --git a/README.md b/README.md index 2cab2bee7..b82e7f7a3 100644 --- a/README.md +++ b/README.md @@ -27,88 +27,72 @@ Docs

-

-## ✨ About OpenIM - -Open-IM-Server, meticulously developed in pure Golang, is a powerful instant messaging server. Its distinct communication method, employing pb+websocket, views every interaction as a message, streamlining customization without altering server code. Built on a microservice architecture, it offers deployment through clusters for outstanding performance and scalability. - -Open-IM-Server is more than an instant messaging server; it's a powerful tool for incorporating real-time networking into your applications, positioning itself as your premier choice for integration! πŸš€ - -Please be aware that Open-IM-Server does not function as a standalone product and does not offer built-in account registration or login services. To ease your implementation process, we've open-sourced the [chat repository](https://github.com/OpenIMSDK/chat), which comprises these features. Deploying this chat business server in conjunction with Open-IM-Server expedites the setup of a comprehensive chat product. πŸ‘₯ - -Further enhancing your experience, we also provide an SDK client, wherein most complex logics are implemented. The [SDK repository](https://github.com/OpenIMSDK/openim-sdk-core) can be found at [this link](https://github.com/OpenIMSDK/openim-sdk-core). The [chat repository](https://github.com/OpenIMSDK/chat) is our business server while the 'core' represents the high-level encapsulation of the SDK, synergistically working together to deliver superior results. ✨ - -## :star2: Why OpenIM - -**πŸ” Function screenshot display** - -
- -| πŸ’»πŸ”„πŸ“± Multi Terminal Synchronization πŸ”„πŸ–₯️ | πŸ“…βš‘ Efficient Meetings πŸš€πŸ’Ό | -| :----------------------------------------------------------: | :---------------------------------------------------------: | -| ![multiple-message](./assets/demo/multi-terminal-synchronization.png) | ![efficient-meetings](./assets/demo/efficient-meetings.png) | -| πŸ“²πŸ”„ **One-to-one and Group Chats** πŸ‘₯πŸ—£οΈ | πŸŽπŸ’» **Special Features - Custom Messages** βœ‰οΈπŸŽ¨| -| ![group-chat](./assets/demo/group-chat.png) | ![special-function](./assets/demo/special-function.png) | - -
-1. **Comprehensive Message Type Support :speech_balloon:** - βœ… Supports almost all types of messages, including text, images, emojis, voice, video, geographical location, files, quotes, business cards, system notifications, custom messages and more +## πŸš€ About OpenIMSDK - βœ… Supports one-on-one and multi-person audio and video calls +**OpenIMSDK** seamlessly integrates into your application, delivering a rich, real-time messaging experience without requiring intricate UI integration. It provides: - βœ… Provides terminal support for multiple platforms such as iOS, Android, Flutter, uni-app, ReactNative, Electron, Web, H5 ++ **Local Storage**: For quick data retrieval and message synchronization. ++ **Listener Callbacks**: Ensuring real-time message interactivity. ++ **API Encapsulation**: Streamlining development processes. ++ **Connection Management**: Guaranteeing reliable message delivery. -2. **Efficient Meetings Anytime, Anywhere :earth_americas:** +It's crafted in Golang and supports cross-platform deployment, ensuring a coherent messaging experience across all platforms. - βœ… Based on IM (Instant Messaging) with 100% reliable forced signaling capabilities, it paves the way for IM systems, deeply integrated with chat applications +πŸ‘‰ **[Explore SDK](https://github.com/openimsdk/open-im-sdk-core)** - βœ… Supports hundreds of people in a single meeting, with subscription numbers reaching thousands, and server-side audio and video recording +## 🌐 About OpenIMServer -3. **One-on-one and Group Chats for Various Social Scenarios :busts_in_silhouette:** +**OpenIMServer**, meticulously developed in Golang, ensures a stellar instant messaging server capability with a multifold approach: - βœ… OpenIM has four roles: application administrator, group owner, group administrator, and regular member ++ **Modular Composition**: It's comprised of several modules, such as the gateway and multiple RPC services, offering a versatile messaging environment. ++ **Microservices Architecture**: Supporting cluster modes, it assures outstanding performance and scalability to manage communication effectively across various instances. ++ **Diverse Deployment Options**: Adapts to your operational preferences, offering deployment via source code, Kubernetes, or Docker. - βœ… Powerful group features such as muting, group announcements, group validation, unlimited group members, and loading group messages as needed +### Enhanced Business Functionalities: -4. **Unique Features :star2:** ++ **REST API**: OpenIMServer provides REST API for business systems, aiming to empower your operations with additional functionalities like group creation and message push via backend interfaces. ++ **Callbacks**: To expand its utility across varied business forms, OpenIMServer offers callback capabilities. That is, it sends a request to the business server before or after an event occurs, such as sending a message, enriching the interaction and data exchange flow in the communication processes. - βœ… Supports read-and-burn private chats, customizable duration +πŸ‘‰ **[Learn More](https://doc.rentsoft.cn/guides/introduction/product)** - βœ… Message editing function broadens social scenarios, making instant communication more diverse and interesting + - βœ… We have a large open source community called [OpenIMSDK](https://github.com/OpenIMSDK) that runs the core modules, we have an open source community called [openim-sigs](https://github.com/openim-sigs) to explore more IM-based infrastructure products. ## :rocket: Quick Start @@ -120,6 +104,7 @@ $ make demo 🀲 In order to facilitate the user experience, we have provided a variety of deployment solutions, you can choose your own deployment method according to the list below: + -
Open IM and Chat Ports - -+ oepnim-server warehouse: https://github.com/openimsdk/open-im-server - -| TCP Port | Description | Operation | -| --------- | ------------------------------------------------------------ | ----------------------------------------------------- | -| TCP:10001 | ws protocol, message port such as message sending, pushing etc, used for client SDK | Port release or nginx reverse proxy, and firewall off | -| TCP:10002 | api port, such as user, friend, group, message interfaces. | Port release or nginx reverse proxy, and firewall off | -| TCP:10005 | Required when choosing minio storage (openIM uses minio storage by default) | Port release or nginx reverse proxy, and firewall off | - - -+ chat warehouse: https://github.com/OpenIMSDK/chat - -| TCP Port | Description | Operation | -| --------- | --------------------------------------------------- | ----------------------------------------------------- | -| TCP:10008 | Business system, such as registration, login etc | Port release or nginx reverse proxy, and firewall off | -| TCP:10009 | Management backend, such as statistics, banning etc | Port release or nginx reverse proxy, and firewall off | - -
- ++ **[Source Code Deployment Guide](https://doc.rentsoft.cn/guides/gettingStarted/imSourceCodeDeployment)** ++ **[Docker Deployment Guide](https://doc.rentsoft.cn/guides/gettingStarted/dockerCompose)** ++ **[Kubernetes Deployment Guide](https://github.com/openimsdk/open-im-server/tree/main/deployments)** +