项目介绍:Raven
Raven 是一个简单的开源团队消息传递平台,专为帮助团队协作和沟通而设计,旨在简化工作流程。Raven 由 Frappe 开发框架构建,可以安装在任何新的或现有的 Frappe 站点上,例如可以与 ERPNext 或 FrappeHR 结合使用。用户可以在 Raven 上创建自己的频道(公共或私人),并发送消息、表情符号、文件和图像。
项目动机
Raven 的产生源于 The Commit Company 对一个简单的工作沟通工具的需求,以取代 Slack。市场上的大多数工作沟通工具存在以下问题:
- 包含许多小团队不需要的视频通话、音频共享等功能,这些功能的构建和运行成本高昂。
- 无论用户使用工具的时间长短或发送消息的数量多少,大多数工具都要求每个用户每月支付费用。这意味着对于“多为非活跃”用户也需要支付费用。
- 公司已经在使用托管于 Frappe Cloud 的 ERPNext 进行运营,所有用户已在 ERPNext 上,因此开发一个简单的 Frappe 应用程序可以解决工作沟通的问题,并相信其他团队和组织也会从中受益。
功能介绍
Raven 提供了一系列实用且简洁的功能:
- 可以在“公开”频道向组织的所有成员发送消息,或仅在团队的私人频道中发送消息。
- 创建新的频道供团队及其成员使用。
- 发送文本消息、代码块、表情符号、文件和图像。
- 使用“@”提及消息中的用户。
- 使用表情符号对消息进行回应。
- 图片和 PDF 文件预览。
- 全面的搜索功能,覆盖所有消息、文件、频道和用户。
- 附带暗模式,避免眼睛疲劳。
技术构建
Raven 是基于 Frappe 开发框架构建的。以下是它的一些核心技术:
- 后端:使用 Python、Redis、MariaDB 和 Socket.io。
- 前端:采用 React,并使用 RadixUI、frappe-react-sdk、react-icons、Tiptap 和 Tailwind CSS。
安装指南
作为一个 Frappe 应用,Raven 可以通过 frappe-bench 在本地机器或生产站点上安装。
-
安装步骤:
bench get-app https://github.com/The-Commit-Company/raven.git
bench --site <yoursite.name> install-app raven
安装完成后,可以通过访问 Frappe 站点的 /raven
端点来访问 Raven。
本地开发设置
若需进行本地开发设置,请确保已在 Frappe 站点配置中激活开发者模式。还需关闭跨站点请求伪造 (CSRF) 防护,并启动 React 的实时 web 服务器:
cd frappe-bench/apps/raven
yarn dev
本地开发服务器会在 http://localhost:8080
上运行。
社区与贡献
任何发现的错误均可以在 GitHub Issues 上进行报告。项目采用 AGPLv3 许可,社区成员可以通过 GitHub 页面查看和贡献。
Raven 提供的简洁与高效的功能,让团队在日常工作沟通中更加顺畅,使其成为替代传统复杂工具的理想选择。