[Reply to " 1024 " from the official account , and get free practical experience for programmers to make money]
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
/ Slack
such 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
.
concept
Tailchat
Position 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 Tailchat
brings . Through the plug-in mechanism, you can modify Tailchat
all 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 noIM
as . Tailchat
There 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.
Function
Tailchat
In addition to the functions that most IM
apps , 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, Tailchat
there are already more than 30 official plug-ins, large and small, and there will be more plug-ins in the future.
identity group
Tailchat
RBAC 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: A
the identity has a
, b
two permissions, and B
the identity has b
, c
two permissions, so if a user has A
and B
two identities at the same time, then he has a
, b
, c
three permissions.
open platform
Like many open platforms, Tailchat
bots 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.
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
technology
front end
Tailchat
The front end of is based on the MiniStar
implemented microkernel architecture, MiniStar
which is responsible for loading and module sharing between modules, and Tailchat
provides dependencies and slots to allow custom plug-ins to implement their own logic Tailchat
on . This vscode
is very close to .
technology stack:
React
Redux
mini-star
tailwindcss
rear end
Tailchat
The 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
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 .