GitHub重磅推荐!基于React + Typescript 现代即时通讯应用 Tailchat

简介: 今天给大家介绍一款即时通讯应用,这个开源项目是:Tailchat,它是一个基于 React + Typescript 的现代开源 noIM 应用程序。简单介绍相信大家都或多或少了解过 Discord / Slack 这样大火的即时通讯应用。两者分别在各自的领域有很大的成就。而今天我来介绍一下他们两者的开源

今天给大家介绍一款即时通讯应用,这个开源项目是:Tailchat,它是一个基于 React + Typescript 的现代开源 noIM 应用程序。

简单介绍

相信大家都或多或少了解过 Discord / Slack 这样大火的即时通讯应用。两者分别在各自的领域有很大的成就。

而今天我来介绍一下他们两者的开源替代品,甚至是升级版 —— Tailchat.

概念

Tailchat 自身定位为 noIM (not only IM), 与其他IM应用最大的区别在于他底层是由一套开放式的插件系统构成的。这种设计为 Tailchat 带来了一套高度自由的开放生态,通过插件机制可以修改Tailchat本身的方方面面而不会影响到核心代码,更重要的是插件机制给予用户选择权。通过插件可以基于核心的IM功能构造出一套完整的空间,这就是为什么定位为 noIM 的原因。Tailchat 具有很多想象的空间。

另外,插件机制也是一种利于二次开发的设计。对于极客或者想要高度自定义的企业来说非常重要。

功能

Tailchat 除了拥有大部分 IM 应用都有的功能如群组管理好友私信音视频通话等常规功能之外,还有更加深入的进阶功能如:

  • 身份组管理
  • 自定义面板
  • 开放平台
  • 插件中心
  • 管理后台
  • 多平台支持(网页端, 手机端, 桌面端)

另外,目前Tailchat已经有大大小小超过30个官方插件,在未来还会有更多插件。

身份组

Tailchat的权限管理采用 RBAC 策略,基于身份组的组合能够拥有不同的权限。相较于普通的 管理员/成员 模式来说,身份组的方式能够很好的组合出不同的权限管理方式。

一个简单的例子: A 身份有 a, b 两个权限,B 身份有 b, c 两个权限,那么如果一个用户同时拥有 AB 两个身份,那么他就有 a, b, c 三个权限。

开放平台

和许多的开放平台一样,Tailchat 支持机器人和第三方登录。通过开放平台可以让外部系统和IM有一个很好的沟通,增强不同应用之间的联系。如果说插件是用户可以感知的前端的连接(插件也有后端),那么开放平台就是纯后端的连接。

如果仅需要一些简单的消息发送功能,一些预设的官方插件也能很好的满足要求。

管理后台

在Tailchat主应用中,所有的用户都是平等地位的,即所有的功能都是一样的。但是作为运营项目的同学需要更加强的控制与管理能力,以应对监管与运维的要求。因此 Tailchat 也提供后台系统可以帮助用户更好的管理自己的应用

技术

前端

Tailchat 的前端是基于 MiniStar 实现的微内核的架构,MiniStar负责模块之间的加载与模块共享,而Tailchat则提供了依赖和插槽来允许自定义插件在 Tailchat 上实现自己想要的逻辑。这一点与vscode是非常相近的。

技术栈:

  • React
  • Redux
  • mini-star
  • tailwindcss

后端

Tailchat 一开始的设计就是为了拓展实现的。后端是基于分布式微服务架构,无需修改就可以直接进行扩容。对于外部的服务接入只需要接入网络即可实现

技术栈:

  • Nodejs
  • Socket.io
  • koa
  • moleculer

需要依赖:

  • redis: 作为后台微服务的转发与缓存服务中间件
  • minio: 作为文件服务的对象存储服务中间件
  • mongo: 主要数据库存储用户数据

开源项目地址:

可以点击此处来获取就可以了!

相关文章
|
5月前
|
人工智能 自然语言处理 并行计算
Github 12k star ,Shap‑E 深度解析:秒生成 3D 模型,一文掌握应用与技巧
Shap-E 是 OpenAI 开源的创新工具,能将文本或图片秒级转换为高质量 3D 模型,支持 Mesh 与 NeRF 格式输出。具备快速生成、双模态输入、本地部署等优势,适用于游戏原型、3D 打印、内容创作等场景,GitHub 已获 12k+ 星标。
451 0
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
9月前
GitHub-cli应用:使用GH命令行在本地提交issue、PR并合并PR。
使用GitHub CLI,你可以更专注于编写和阅读代码,而不需要为了简单的操作反复跳转页面。在这个充满终端、代码和开源的世界中,让GitHub CLI被你牢牢掌握,在你的掌中,它将会是一个强大的工具。
240 19
|
12月前
|
数据采集 JavaScript 前端开发
异步请求在TypeScript网络爬虫中的应用
异步请求在TypeScript网络爬虫中的应用
|
JavaScript 前端开发 安全
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
1627 4
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
603 4
|
前端开发 JavaScript 开发者
使用React和Redux构建高效的前端应用
使用React和Redux构建高效的前端应用
202 2
|
前端开发 JavaScript
手敲Webpack 5:React + TypeScript项目脚手架搭建实践
手敲Webpack 5:React + TypeScript项目脚手架搭建实践