• Stars
    star
    277
  • Rank 144,317 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Instant Messaging

openim-sdk-core

⭐️ Used in IOS, Android, PC and other platforms ⭐️

A+ good first

English中文


🧩 Awesome features

OpenIM-SDK-core is a core SDK of OpenIM.

  1. Manage WebSocket long connections, responsible for creating, closing and reconnecting connections.
  2. Encoding and decoding. Encode and decode messages in binary format to achieve cross-language compatibility.
  3. Implement basic protocols of OpenIM, such as login, push, etc.
  4. Provide an event handling mechanism to convert received messages into corresponding events and pass them to upper layer applications for processing.
  5. Cache management. Manage user, group, blacklists, and other cache information.
  6. Provide basic IM function APIs such as sending messages, creating groups, etc. Hide the underlying implementation details from the upper layer application.

Quickstart

Note: You can get started quickly with openim-sdk-core.

Work with Makefile
❯ make help    # show help
❯ make build   # build binary
Work with actions

Actions provide handling of PR and issue. We used the bot @kubbot, It can detect issues in Chinese and translate them to English, and you can interact with it using the command /comment.

Comment in an issue:

❯ /intive
Work with Tools
❯ make tools
Work with Docker
$ make deploy

Contributing & Development

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 openim-sdk-core repository, please read our contributor documentation.

community meeting

We welcome everyone to join us and contribute to openim-sdk-core, whether you are new to open source or professional. We are committed to promoting an open source culture, so we offer community members neighborhood prizes and reward money in recognition of their contributions. We believe that by working together, we can build a strong community and make valuable open source tools and resources available to more people. So if you are interested in openim-sdk-core, please join our community and start contributing your ideas and skills!

We take notes of each biweekly meeting in GitHub discussions, and our minutes are written in Google Docs.

openim-sdk-core maintains a public roadmap. It gives a a high-level view of the main priorities for the project, the maturity of different features and projects, and how to influence the project direction.

about OpenIM

common

Contains some common parts of the OpenIM community.

SDKs

  • openim-sdk-core: A cross-platform SDK implemented in golang that can be used in IOS, Android, PC, and other platforms.
  • Open-IM-SDK-iOS: An iOS SDK generated based on openim-sdk-core, available for developers to reference.
  • Open-IM-SDK-Android: An Android SDK generated based on openim-sdk-core, available for developers to reference.
  • Open-IM-SDK-Flutter: A Flutter SDK generated based on Open-IM-SDK-iOS and Open-IM-SDK-Android, available for developers to reference.
  • Open-IM-SDK-Uniapp: A uni-app SDK generated based on Open-IM-SDK-iOS and Open-IM-SDK-Android, available for developers to reference.

Demos

  • Open-IM-iOS-Demo: An iOS demo based on Open-IM-SDK-iOS, available for developers to reference.
  • Open-IM-Android-Demo: An Android demo based on Open-IM-SDK-Android, available for developers to reference.
  • Open-IM-Flutter-Demo: A Flutter demo based on Open-IM-SDK-Flutter, available for developers to reference.

Used By

OpenIM is used by the following companies ,let's write it down in ADOPTER.

Please leave your use cases in the comments here.

License

openim-sdk-core is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Thanks to our contributors!

More Repositories

1

open-im-server

IM Chat
Go
12,719
star
2

open-im-sdk-flutter

IM SDK Flutter
Dart
338
star
3

open-im-flutter-demo

Demo developed based on flutter open IM SDK.
Dart
253
star
4

open-im-sdk-android

IM Android
Java
212
star
5

open-im-sdk-ios

An OpenIM SDK in Objective-C for iOS
Objective-C
148
star
6

openim-electron-demo

Instant Messaging web desktop
TypeScript
128
star
7

open-im-uniapp-demo

IM
Vue
123
star
8

openkf

AI ChatGPT 智能客服 | Supports chatgpt and llm large language models. OpenKF is an online customer service system that improves communication for enterprises and open-source communities with customizable features.
Go
100
star
9

open-im-sdk-web

IM web jssdk
TypeScript
88
star
10

open-im-android-demo

IM Android
Java
73
star
11

open-im-sdk-uniapp

即时通讯IM uniapp
Objective-C
58
star
12

chat

A business server that includes user registration and login, deployed together with Open-IM-Server, can be used to set up a chat product.
Go
51
star
13

openim-docs

OpenIM system documentation
Shell
44
star
14

open-im-ios-demo

Demo developed based on OpenIMSDK.
Swift
42
star
15

open-im-sdk-reactnative

IM ReactNative
Objective-C
37
star
16

openim-docker

openim-docker configuration for deploying OpenIM. Provides a build solution for a stable distribution, as well as a docker compose deployment strategy
Shell
24
star
17

open-im-sdk-web-wasm

JS SDK for OpenIM Web use by Webassembly of go
TypeScript
19
star
18

ChatGPT

ChatGPT integrated IM
Python
15
star
19

cpp_go

Call Go function from C/C++ function
Go
15
star
20

community

Community Management for OpenIM
Shell
14
star
21

openmeeting-server

An open-source video conferencing solution, and alternative to Zoom
12
star
22

helm-charts

helm charts repository for openim
Smarty
11
star
23

Open-IM-h5-Demo

Vue
10
star
24

Open-IM-Demo-Register

Go
10
star
25

openim-h5-demo

TypeScript
8
star
26

tools

Go
6
star
27

protocol

Go
6
star
28

openim-charts

OpenIM-Charts: Kubernetes-ready Helm charts for deploying OpenIM, an open-source instant messaging system. Simplify deployment and management of scalable and secure IM infrastructure on Kubernetes.
Smarty
6
star
29

open-im-server-k8s-deploy

Open-IM-Server-k8s-deploy
Shell
6
star
30

gomake

gomake is a cross-platform compilation tool built on Mage, specifically designed for Go language projects. It offers comprehensive support for various operating systems and CPU architectures, covering the entire workflow from compilation to launching, monitoring, and stopping services.
Go
6
star
31

openim-sdk-core-ios

Objective-C
5
star
32

docs

OpenIM documentation v3
MDX
4
star
33

openim-sdk-cpp

IM SDK C/C++
C++
4
star
34

openim-miniprogram-demo

JavaScript
3
star
35

sdk_advanced_function

This is sdk_advanced_function for vip
Go
2
star
36

k8s-jenkins

Makefile
2
star
37

openim-reactnative-demo

TypeScript
2
star
38

.github

OpenIMSDK aim to be the top open source community
2
star
39

open-im-sdk-core-Indexdb-doc

Document description of the indexDB interface used by the openIM client
2
star
40

openKeeper

openIM zookeeper
Go
1
star
41

open_utils

Go
1
star
42

OpenMetaOffice-iOS

1
star
43

OpenMetaOffice-Flutter

Business authorization required
Dart
1
star
44

openim-msggateway-proxy

Go
1
star
45

open-im-sdk-dotnet

C#
1
star
46

automation

OpenIM Automation, cicd, and actions, Robotics.
1
star