• Stars
    star
    141
  • Rank 259,971 (Top 6 %)
  • Language
    Go
  • License
    GNU Affero Genera...
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

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

Repository Details

Ligase is a Golang-based implementation of Matrix homeserver, powered by finogeeks https://www.finogeeks.com/Finchat

FinChat

A general purpose, open, Messsging As A Platform (MaaP) solution.

👉 https://www.finogeeks.com/Finchat 👈


Introduction

Ligase is a Golang-based implementation of Matrix home server, following the Matrix spec as defined at matrix.org. It has been used in production by an array of financial institutions in various scenarios, including but not limited to OTC-style trading (i.e in the bond trading market), collaborative workspace, stock brokerage, retail banking and more. It usually serves as the core to support more sophisticated financial applications running in secured, on-premise and regulation-compliant environments.

But nothing limits it as a powerful Instant Messaging server as well as a general purpose, open, Messsging As A Platform (MaaP) solution.

Alternatives to Synapse and Dendrite

Synapse and Dendrite are two reference implementation based upon the Matrix spec, implemented in Python and Golang, respectively. Here we provide yet another alternative, field-tested by a number of banks, stock brokerage houses and fintech companies since 2018. Financial applications require an IM with lower latency, better scalability, higher concurrency and stronger backend monitoring capabilities. We therefore derived a branch originally from Dendrite but since then parting our way from it to drill into a completely different implementation with a different architecture.

Architecture and other technological considerations

While sticking to the Matrix spec as much as it could be, this implementation has adopted the following approaches:

  • a Fan-in/Fan-out topology
  • a CQRS (Command and Query Responsibility Segregation) pattern
  • leveraging Kafka for event sourcing and stream message storage
  • micro-service based with full leverage to containers (i.e. Docker) and container choreography platforms (i.e. Kubernetes/Rancher)

A Cloud-native K8S application

The implementation will gradually take advantage of cloud facilities so as to reach the state of being cloud-native, inherently supporting DevOps. It deploys via docker-compose as a single node deployment. But it meets enterprise-grade requirements to run as a native K8S application, leveraging K8S' elasticity and resiliency. Integration with Prometheus gives IT operators a powerful monitoring tool.

Installation

Read the INSTALL

Contributing

Read the CONTRIBUTING

Troubleshooting

problems and known solutions

Support channels

Slack/Reddit/StackOverflow/FinChat

About Finogeeks

You can visit finogeeks.com to get more details.

More Repositories

1

finclip-ios-demo

小程序容器 FinClip 苹果运行环境,让小程序在苹果应用中无缝运行 / iOS DEMO for FinClip
Objective-C
324
star
2

finclip-android-demo

小程序引擎 FinClip 安卓运行环境,让小程序在安卓应用中无缝运行 / Android DEMO for FinClip
Java
234
star
3

finclip-flutter-demo

FinClip Flutter 运行环境,让小程序在 Flutter 应用中无缝运行 / Flutter DEMO for FinClip
Dart
97
star
4

mop-flutter-sdk

FinClip 小程序 Flutter SDK 插件,用于在 Flutter 应用中运行小程序 / Flutter SDK for FinClip
Dart
93
star
5

miniprogram-demo

FinClip 小程序演示,用于测试小程序中相关 API 与组件能力 / Mini-Program DEMO for FinClip
JavaScript
60
star
6

fino-applet

Finchat 小程序核心原理 / FinClip Mini-Program Core Principle
Objective-C
46
star
7

finclip-react-native-demo

FinClip RN 运行环境,让小程序在 RN 应用中无缝运行 / ReactNative DEMO for FinClip
JavaScript
45
star
8

FinClipSDK

FinClip 核心 SDK 插件,用于小程序基础的 API 与组件调用 / Core SDK for FinClip
Objective-C
40
star
9

finclip-desktop-demo

FinClip 桌面版运行环境,让小程序在桌面平台上无缝运行 / Desktop DEMO for FinClip
25
star
10

react-native-mopsdk

FinClip React SDK 插件,用于 RN 环境中 API 与组件调用 / React SDK for FinClip
Objective-C
17
star
11

finclip-uniapp-demo

FinClip Uniapp 运行环境,让小程序在 Uniapp 应用中无缝运行 / Uniapp DEMO for FinClip
Objective-C
8
star
12

FinClip-2022-Hackthon-Challenge

2022 年 FinClip 黑客马拉松活动
8
star
13

FinChat-Web

Finchat 网页端示例代码 / FinChat Web Demo
Vue
7
star
14

finclip-ops-docs

FinClip 运维文档,可查看推荐架构与运维相关能力 / DevOps for FinClip
JavaScript
5
star
15

finclip-win32-demo

FinClip Windows 运行环境,让小程序在 Windows 平台上无缝运行 / Win32 DEMO for FinClip
C
4
star
16

wechat-auth-page

FinClip 微信登录授权页面
3
star
17

FinClipExtSDK

FinClip 扩展 SDK 插件,用于与权限相关的 API 与组件调用 / Extension SDK for FinClip
Objective-C
3
star
18

webrtc-miniprogram-demo

finclip webrtc 小程序 demo
JavaScript
2
star
19

FinChat-Docs

FinChat 开发文档 / Finchat Development Document
2
star
20

FinClipWeChatSDK-Android

FinClipWeChatSDK-Android
Kotlin
2
star
21

Agora-Miniapp-Tutorial

Hello world for Agora SDK running in FinClip
JavaScript
2
star
22

FinChat-Android

Finchat 安卓端示例代码 / FinChat Android Demo
Kotlin
2
star
23

finclip_unity_plugin_demo

unity 插件demo
1
star
24

auth_demo_android

FinClip 小程序授权登录演示项目,用于在小程序中获取微信用户身份登录 / Wechat Authentication DEMO for FinClip
Java
1
star
25

FinAppletWebRTCSDK

FinClip webRTC 插件,用于webRTC的 API 与组件调用
Smarty
1
star
26

applet-payment-demo

FinClip 小程序支付 DEMO / Payment DEMO for FinClip
JavaScript
1
star
27

FinAppletBDMapSDK

FinClip 百度地图 插件,用于地图相关的 API 与组件调用
Smarty
1
star
28

FinChat-Robot-Demo

1
star
29

pay-android-demo

FinClip 小程序支付功能演示项目,用于在小程序中使用微信支付 / Wepay DEMO for FinClip
Java
1
star
30

miniprogram-zed-extension

Scheme
1
star