# ark-plus **Repository Path**: zzsvip/ark-plus ## Basic Information - **Project Name**: ark-plus - **Description**: 业务层封装-据情况使用 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-05 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ark-plus > 基于 DDD + 微服务架构的企业级后台管理平台,配套框架引擎 [ark-engine](https://gitee.com/zzsvip/ark-engine.git) ![Java](https://img.shields.io/badge/Java-21-orange) ![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.x-brightgreen) ![Spring Cloud](https://img.shields.io/badge/Spring%20Cloud-2025.x-brightgreen) ![License](https://img.shields.io/badge/License-MIT-blue) ![Status](https://img.shields.io/badge/Status-In%20Development-yellow) --- ## 项目简介 ark-plus 是一个以**领域驱动设计(DDD)** 为核心、**微服务**为载体的企业级后台管理平台。 项目有两个目标: 1. **技术演示**:完整落地 DDD 分层架构、微服务治理、云原生部署等工程实践 2. **架构参考**:为同类项目提供可借鉴的模块划分与技术选型思路 > 本项目基于 [ark-engine](https://gitee.com/zzsvip/ark-engine.git) 框架引擎构建,ark-engine 提供 DDD 基础设施抽象、MQ 封装、缓存封装等通用能力。 --- ## 技术栈 | 层次 | 技术选型 | |------|---------| | 语言 / 平台 | Java 21、Spring Boot 3.5.x | | 微服务 | Spring Cloud 2025.x、Dubbo 3.3.x | | 服务注册 | Nacos 3.x | | 网关 | Spring Cloud Gateway(WebFlux) | | 认证 | JWT(双 Token 机制)、Spring Security | | 持久层 | MyBatis-Plus、MySQL 8.0 | | 缓存 | Redis 7.x | | 消息队列 | Kafka 3.9.x(KRaft 模式) | | 前端 | Vue Pure Admin | | 容器化 | Docker、Docker Compose | --- ## 模块结构 ``` ark-plus ├── ark-platform # 平台服务层 │ ├── gateway-server # API 网关(JWT 预校验、路由转发) │ ├── auth-server # 认证服务(登录、Token 刷新) │ └── user-server # 用户服务 └── ark-context # 业务上下文层 └── context-generic # 通用业务上下文 ├── generic-auth # 认证领域(DDD 分层) ├── generic-user # 用户领域 ├── generic-rbac # 权限领域 └── generic-menu # 菜单领域 ``` 每个领域模块遵循严格的 DDD 分层: ``` generic-auth ├── auth-domain # 领域层(聚合根、值对象、领域服务、仓储接口) ├── auth-application # 应用层(用例编排) ├── auth-infrastructure # 基础设施层(仓储实现、外部服务适配) ├── auth-adapter # 适配器层(Controller、Dubbo Service) └── auth-spring-boot-starter # 自动装配入口 ``` --- ## 架构设计 ### DDD 分层原则 - **领域层**(domain):纯 Java + Lombok,零框架依赖,核心业务规则在此 - **应用层**(application):编排领域对象,不含业务规则 - **基础设施层**(infrastructure):实现仓储、对接外部系统 - **适配器层**(adapter):暴露 HTTP / RPC 接口,不含业务逻辑 ### 双 Token 认证机制 ``` 登录 → 颁发 access_token(JWT,2h)+ refresh_token(UUID,7d,存 Redis) ↓ Gateway 校验 access_token → 通过后注入 X-User-Id / X-User-Roles Header ↓ access_token 过期 → 客户端用 refresh_token 换新 token(auth-server) ``` ### 微服务通信 - **同步调用**:Dubbo RPC(服务间) - **异步解耦**:Kafka(领域事件驱动) - **服务发现**:Nacos --- ## 快速开始 ### 环境要求 | 工具 | 版本 | |------|------| | JDK | 21+ | | Maven | 3.9+ | | Docker | 20+ | | Node.js | 20+(Git 工具链) | ### 启动基础设施 ```bash # 克隆项目 git clone https://gitee.com/zzsvip/ark-plus.git cd ark-plus # 安装 Git 提交规范工具 npm install # 启动 MySQL、Redis、Nacos、Kafka docker compose -f docker-compose.infra.yml up -d ``` ### 构建项目 ```bash mvn clean install -DskipTests ``` --- ## 工程规范 本项目遵循以下工程化规范: - **提交规范**:Conventional Commits(commitizen 引导 + commitlint 校验) - **分支策略**:Trunk-based Development - **变更日志**:基于 Git tag 自动生成 CHANGELOG.md - **贡献流程**:详见 [CONTRIBUTING.md](./CONTRIBUTING.md) --- ## Roadmap ### 第一阶段:工程基础 ✅ - [x] 项目脚手架、模块划分 - [x] Git 提交规范(commitizen + commitlint) - [x] 分支管理策略(Trunk-based) - [x] Changelog 自动生成 - [x] Issue / PR 模板 ### 第二阶段:核心功能(进行中 🚧) - [ ] 登录 / 登出 / Token 刷新 - [ ] 用户管理 CRUD - [ ] RBAC 权限模型 - [ ] 菜单管理 - [ ] 前端页面对接(Vue Pure Admin) ### 第三阶段:开发质量 - [ ] API 文档管理(Apifox 集成) - [ ] 数据库版本管理(Flyway) - [ ] 单元测试覆盖率门禁(JaCoCo) - [ ] 静态代码扫描(SonarQube) - [ ] 依赖安全审计(OWASP Dependency-Check) - [ ] 接口自动化测试(MeterSphere) ### 第四阶段:CI/CD ⏳ - [ ] GitHub Actions 流水线(构建 + 推送镜像) - [ ] 自动部署到云服务器 - [ ] 多环境配置管理 ### 第五阶段:可观测性 - [ ] 服务监控(Prometheus + Grafana) - [ ] 日志聚合(Loki) - [ ] 链路追踪(SkyWalking) ### 第六阶段:数据库治理 - [ ] 数据库 Schema 审查(Bytebase) --- ## 相关仓库 | 仓库 | 说明 | |------|------| | [ark-engine](https://gitee.com/zzsvip/ark-engine.git) | 框架引擎,提供 DDD 基础设施、MQ、缓存等通用封装 | --- ## License [MIT](./LICENSE)