• Stars
    star
    352
  • Rank 120,622 (Top 3 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated about 1 month 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

openim-electron-demo

Instant Messaging web desktop
TypeScript
155
star
6

open-im-sdk-ios

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

open-im-uniapp-demo

IM
Vue
143
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
140
star
9

open-im-sdk-web

IM web jssdk
TypeScript
103
star
10

open-im-android-demo

IM Android
Java
73
star
11

open-im-sdk-uniapp

即时通讯IM uniapp
Objective-C
63
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
38
star
16

open-im-sdk-web-wasm

JS SDK for OpenIM Web use by Webassembly of go
TypeScript
34
star
17

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
18

openmeeting-server

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

tools

Go
17
star
20

ChatGPT

ChatGPT integrated IM
Python
15
star
21

cpp_go

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

community

Community Management for OpenIM
Shell
14
star
23

openim-h5-demo

TypeScript
13
star
24

protocol

Go
11
star
25

helm-charts

helm charts repository for openim
Smarty
11
star
26

Open-IM-Demo-Register

Go
10
star
27

Open-IM-h5-Demo

Vue
10
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
8
star
29

docs

OpenIM documentation v3
MDX
7
star
30

open-im-server-k8s-deploy

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

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
32

openim-sdk-core-ios

Objective-C
5
star
33

openim-sdk-cpp

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

openim-reactnative-demo

TypeScript
4
star
35

openim-miniprogram-demo

JavaScript
3
star
36

openim-sdk-electron

TypeScript
2
star
37

sdk_advanced_function

This is sdk_advanced_function for vip
Go
2
star
38

k8s-jenkins

Makefile
2
star
39

.github

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

open-im-sdk-core-Indexdb-doc

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

openKeeper

openIM zookeeper
Go
1
star
42

open_utils

Go
1
star
43

automation

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

OpenMetaOffice-iOS

1
star
45

open-im-sdk-dotnet

C#
1
star
46

OpenMetaOffice-Flutter

Business authorization required
Dart
1
star
47

openim-msggateway-proxy

Go
1
star