An open source instant messaging application Tailchat

[Reply to " 1024 " from the official account , and get free practical experience for programmers to make money]

cdb045007ac5c9a7d90d8b984e0d053f.jpeg

Hello everyone, I am Octopus Cat.

Today's open source project comes from the contributions of readers. This open source project is: Tailchat , which is a modern open source noIM application based on React + Typescript .

a brief introdction

I believe everyone has more or less known Discord/ Slacksuch a popular instant messaging application. Both have made great achievements in their respective fields.

And today I will introduce the open source alternatives of both of them, even the upgraded version - Tailchat.

d7a12f18c52434dded99b71a6dfea536.png

concept

TailchatPosition itself as noIM( not only IM ), the biggest difference from other IM applications is that its bottom layer is composed of an open plug-in system. This design Tailchatbrings . Through the plug-in mechanism, you can modify Tailchatall aspects of itself without affecting the core code. More importantly, the plug-in mechanism gives users the right to choose. A complete set of spaces can be constructed based on core IM functions through plug-ins, which is why it is positioned noIMas . TailchatThere is a lot of room for imagination.

In addition, the plug-in mechanism is also a design that is conducive to secondary development. Great for geeks or businesses that want a high degree of customization.

1a67a8c060fc13f9c75c317da7b9f627.png

Function

TailchatIn addition to the functions that most IMapps , such as group management , friends , private messages , audio and video calls , etc., there are more in-depth advanced functions such as:

  • Identity Group Management

  • custom panel

  • open platform

  • Plugin Center

  • Management background

  • Multi-platform support (web, mobile, desktop)

In addition, Tailchatthere are already more than 30 official plug-ins, large and small, and there will be more plug-ins in the future.

identity group

TailchatRBAC policy is adopted in the rights management of the system, and the combination of identity groups can have different rights. Compared with the common 管理员/成员mode , the way of identity group can well combine different rights management ways.

A simple example: Athe identity has a, btwo permissions, and Bthe identity has b, ctwo permissions, so if a user has Aand Btwo identities at the same time, then he has a, b, cthree permissions.

open platform

Like many open platforms, Tailchatbots and third-party logins are supported. Through the open platform, the external system and IM can have a good communication, and the connection between different applications can be enhanced. If a plug-in is a front-end connection that users can perceive (plug-ins also have a back-end), then an open platform is a pure back-end connection.

If you only need some simple message sending functions, some preset official plug-ins can also meet the requirements well.

5dc27f58730fc12bbced5442ad63870d.png

Management background

In the Tailchat main application, all users are equal, that is, all functions are the same. However, students who are operating projects need stronger control and management capabilities to meet the requirements of supervision and operation and maintenance. Therefore, Tailchat also provides a background system to help users better manage their applications

cc14b131d4433c7d40d967edcdb5ef92.png

technology

front end

TailchatThe front end of is based on the MiniStarimplemented microkernel architecture, MiniStarwhich is responsible for loading and module sharing between modules, and Tailchatprovides dependencies and slots to allow custom plug-ins to implement their own logic Tailchaton . This vscodeis very close to .

technology stack:

  • React

  • Redux

  • mini-star

  • tailwindcss

rear end

TailchatThe initial design is to expand the implementation. The backend is based on a distributed microservice architecture, which can be directly expanded without modification. For external service access, only need to access the network to achieve

technology stack:

  • Nodejs

  • Socket.io

  • too

  • moleculer

Need to depend on:

  • redis: as a forwarding and caching service middleware for background microservices

  • minio: object storage service middleware as a file service

  • mongo: main database to store user data

8450c14b834c40050a1a969e0bfba9b3.png

Official website: https://tailchat.msgbyte.com/

Official documentation: https://tailchat.msgbyte.com/docs/intro

Open source project address: https://github.com/msgbyte/tailchat

Recently, Octopus created a "GitHub Selected Exchange Group". Everyone is welcome to exchange excellent open source projects, and you can also promote your own open source projects. Reply [Add Group] in the backstage of the "GitHub Blackboard News" public account to invite you to join the group .

--- Recommended ---

Special recommendation: an account dedicated to sharing high-quality open source projects "GitHub Blackboard News" , which regularly digs and shares high-quality open source projects on GitHub three times a week. Focusing on digging out good things is very worthy of everyone's attention. Click on the official account card below to follow directly .

Guess you like

Origin blog.csdn.net/loongggdroid/article/details/130633228