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 后端源码,你的技术水平会有质的飞跃。
项目评分: ⭐⭐⭐⭐⭐
上手难度: ⭐⭐⭐⭐ (架构较为复杂,需要一定的技术基础)