【GitHub项目推荐】Ever Gauzy:全栈 TypeScript 打造的开源企业级 ERP/CRM/HRM 平台
EverGauzy是一款开源的现代化业务管理平台,采用TypeScript全栈开发,集ERP、CRM和HRM功能于一体。其核心特色包括智能HRM(时间追踪、休假审批)、销售管理、财务系统和项目管理。技术架构基于NestJS后端和Angular/React前端,采用DDD、CQRS等设计模式,支持Docker容器化部署。该项目特别适合外包团队、初创公司作为低成本管理方案,同时也是学习全栈开发的优质范
1. 项目简介 (Introduction)
在开源界,能够将 ERP(企业资源计划)、CRM(客户关系管理)和 HRM(人力资源管理)完美融合,并且保持代码现代化和高质量的项目并不多见。Ever Gauzy 就是其中一颗璀璨的遗珠。
Ever Gauzy 是一个专注于公平性和透明度的开源业务管理平台。它旨在为按需经济(On-Demand Economy)、代理商、工作室和自由职业者提供一站式的管理解决方案。
对于开发者而言,它更是一个学习全栈 TypeScript、NestJS 架构和现代前端工程化的绝佳教科书。
-
GitHub 地址: https://github.com/ever-co/ever-gauzy
-
核心语言: TypeScript (Frontend + Backend)
-
开源协议: AGPL-3.0


2. 核心功能模块 (Core Features)
Ever Gauzy 的野心很大,它试图通过一个统一的平台解决企业管理中的大部分痛点。
2.1 智能人力资源管理 (HRM)
这是 Gauzy 最强悍的部分,特别适合远程办公团队:
-
时间追踪: 类似于 Hubstaff 或 Upwork,支持桌面端应用截图、活动级别监控。
-
休假与审批: 完整的请假、审批流。
-
招聘管理 (ATS): 管理候选人、面试流程。
2.2 客户与销售管理 (CRM)
-
销售漏斗: 管理潜在客户(Leads)到成交的全过程。
-
客户画像: 维护客户详细信息、合同及历史记录。
-
估价与提案: 在线生成并发送项目报价单。
2.3 企业资源规划 (ERP) & 财务
-
多组织架构: 支持一个账号管理多家公司或分公司。
-
收支管理: 记录收入、支出,自动生成发票(Invoicing)。
-
库存管理: 产品、服务、库存数量追踪。
2.4 项目管理 (Project Management)
-
任务看板: 类似 Trello 的任务分配与进度追踪。
-
工时集成: 任务与工时直接挂钩,自动计算项目成本。
3. 技术架构 (Tech Stack)
Gauzy 的技术选型非常具有参考价值,它几乎代表了目前 Node.js 企业级应用 的最佳实践。
后端 (Backend)
-
框架: NestJS (当前 Node.js 领域最火的企业级框架)。
-
语言: TypeScript。
-
数据库: PostgreSQL (默认),通过 TypeORM 支持 MySQL 等其他关系型数据库。
-
架构模式: 采用了 DDD (领域驱动设计)、CQRS (命令查询职责分离) 和 微服务 的设计思想。代码结构解耦极佳,非常适合用来学习如何写出“干净”的后端代码。
前端 (Frontend)
-
框架: Angular (主推) / React (部分模块)。
-
UI 库: Nebular / Bootstrap。
-
状态管理: NgRx / Akita。
基础设施与工具
-
Monorepo: 使用 Nx 进行单一代码仓库管理,前后端代码共享 Interface 和 DTO,极大提升了开发效率。
-
容器化: 完善的 Docker 和 Kubernetes (K8s) 支持,这也是云原生时代的标配。
-
跨平台: 使用 Electron 构建了桌面端的时间追踪应用(支持 Windows/Mac/Linux)。
4. 适用场景 (Use Cases)
-
外包团队/软件工作室: 直接使用 Gauzy 管理项目进度、计算员工工时工资、向客户发账单。
-
初创公司: 作为低成本的内部 ERP 系统,替代昂贵的 SaaS 服务。
-
全栈开发者:
-
学习 NestJS 的模块化设计。
-
研究如何在大型项目中使用 RxJS。
-
学习 Nx Monorepo 的配置与管理。
-
5. 快速开始 (Quick Start)
最简单的运行方式是使用 Docker Compose。
Bash
# 1. 克隆仓库
git clone https://github.com/ever-co/ever-gauzy.git
cd ever-gauzy
# 2. 启动服务 (需确保本地安装了 Docker)
docker-compose up -d
# 3. 访问系统
# 前端地址: http://localhost:4200
# 默认管理员账号: admin@ever.co
# 默认密码: admin
(注:由于项目较为庞大,第一次构建可能需要较长时间,请耐心等待)
6. 总结与推荐理由
Ever Gauzy 不仅仅是一个功能堆砌的开源软件,它展示了TypeScript 在全栈领域的统治力。
-
如果你是老板:它可以帮你省下购买 Jira + Hubstaff + Salesforce 的钱。
-
如果你是架构师:你可以参考它如何组织数万行代码的 Monorepo 结构。
-
如果你是初学者:仔细研读它的 NestJS 后端源码,你的技术水平会有质的飞跃。
项目评分: ⭐⭐⭐⭐⭐
上手难度: ⭐⭐⭐⭐ (架构较为复杂,需要一定的技术基础)
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)