Helix
介绍
Helix 是一个全栈企业级应用模板,旨在加速生产级业务应用的开发。它提供了预构建的基础,包含企业应用所需的全部基本功能,使团队能够专注于业务逻辑而非基础设施。
项目由两个组件构成:
- Helix Server — 基于 Spring Boot 的后端,提供 REST API、身份认证、权限管理和数据管理。
- Helix Web — 基于 React 的单页应用前端,具备现代化的 UI、基于角色的路由和企业级身份集成。
Helix 旨在作为项目的起点使用。Fork 或克隆它,然后在现成的基础上开始构建您自己的业务功能。
特性
后端(Helix Server)
- 身份认证与授权 — 基于 JWT 的 access token 和 refresh token 流程,配合 Spring Security。支持 Microsoft Entra ID(Azure AD)集成。
- 基于角色的访问控制 — 通过角色、权限和菜单级访问控制实现细粒度权限管理。
- 用户与组织管理 — 用户、部门、职位和角色的完整增删改查。
- 菜单管理 — 层级菜单树,支持按角色配置可见性。
- 资产管理 — 文件上传至 AWS S3,支持 CDN 前缀处理。
- 设置管理 — 类型化的应用配置项持久化至数据库。
- 验证码集成 — 登录和注册流程中的图形验证码校验。
- Redis 缓存 — 高性能缓存,支持可配置 TTL 和自定义序列化器。
- 数据访问 — Spring Data JPA 与 MyBatis 混合持久化方案。
- 校验 — Bean Validation 分组校验与自定义校验约束。
前端(Helix Web)
- 企业级身份认证 — 通过 MSAL 实现 Microsoft Entra ID 登录。可扩展的社交登录提供商架构(Microsoft、Google、GitLab、Slack、Discord、钉钉、飞书、企业微信、邮箱/密码)。
- 仪表盘布局 — 响应式管理后台,可折叠侧边栏,基于角色的菜单渲染。
- 用户管理 — 数据表格支持搜索、分页,添加/编辑对话框,角色分配和手机号校验。
- 角色与菜单管理 — 角色增删改查与权限分配。基于树形的菜单配置。
- 部门与职位 — 组织层级管理界面。
- 路由保护 — 在页面加载前检查认证和授权状态。
- 状态管理 — Redux Toolkit 配合 Redux Persist 实现认证 token 的持久化。
- HTTP 客户端 — 基于 Axios 封装的请求客户端,自动注入 JWT token 并在 401 时自动刷新。
架构
前端通过 RESTful JSON API 与后端通信。认证流程使用短有效期的 JWT access token,refresh token 存储在 Redis 中。Microsoft Entra ID 集成在前端通过 MSAL 处理,并在后端进行校验。
代码仓库
- helix-server — Spring Boot 后端
- helix-web — React 前端
快速开始
Helix 是一个模板项目。启动新项目的步骤:
- Fork 或克隆
helix-server和helix-web两个仓库。 - 在后端配置您的数据库、Redis 和 S3 设置。
- 在前端配置您的认证提供商和 API 基础地址。
- 启动后端:
./gradlew bootRun - 启动前端:
pnpm install && pnpm dev
许可证
Helix 是采用 MIT 许可证发布的开源软件。