1. 项目简介 (Introduction)

在开源界,能够将 ERP(企业资源计划)、CRM(客户关系管理)和 HRM(人力资源管理)完美融合,并且保持代码现代化和高质量的项目并不多见。Ever Gauzy 就是其中一颗璀璨的遗珠。

Ever Gauzy 是一个专注于公平性透明度的开源业务管理平台。它旨在为按需经济(On-Demand Economy)、代理商、工作室和自由职业者提供一站式的管理解决方案。

对于开发者而言,它更是一个学习全栈 TypeScript、NestJS 架构和现代前端工程化的绝佳教科书。


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)

  1. 外包团队/软件工作室: 直接使用 Gauzy 管理项目进度、计算员工工时工资、向客户发账单。

  2. 初创公司: 作为低成本的内部 ERP 系统,替代昂贵的 SaaS 服务。

  3. 全栈开发者:

    • 学习 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 后端源码,你的技术水平会有质的飞跃。

项目评分: ⭐⭐⭐⭐⭐

上手难度: ⭐⭐⭐⭐ (架构较为复杂,需要一定的技术基础)

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐