# AgileData数据中台 **Repository Path**: agileData/agile-data-data-platform ## Basic Information - **Project Name**: AgileData数据中台 - **Description**: Agile Data 是一款面向企业级应用的一站式数据中台解决方案。系统基于 Spring Boot + Vue.js 技术栈构建,融合了大数据处理、实时计算、数据治理、数据服务等核心能力,为企业提供从数据采集、加工、存储、管理到应用的全链路数据服务。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Agile Data — 企业级数据中台 > 基于 Spring Boot + Vue.js 的一站式数据中台解决方案 [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.x-brightgreen)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue-2.x-blue)](https://vuejs.org/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) --- ## 目录 - [系统简介](#系统简介) - [技术架构](#技术架构) - [前端技术栈](#前端技术栈) - [后端技术栈](#后端技术栈) - [项目结构](#项目结构) - [核心功能模块](#核心功能模块) - [快速开始](#快速开始) - [环境要求](#环境要求) - [演示环境](#演示环境) - [系统截图](#系统截图) --- ## 系统简介 **Agile Data** 是一款面向企业级应用的一站式数据中台平台,致力于为企业提供从数据采集、加工、存储、管理到应用的全链路数据服务能力。 系统融合了大数据批量处理、实时流计算、数据治理、数据服务化等核心能力,支持离线+实时双模数据处理架构,帮助企业打通数据孤岛、构建数据资产体系、赋能业务创新。 ### 核心价值 | 价值 | 说明 | |:---|:---| | **降本增效** | 标准化自动化数据开发流程,降低数据开发门槛和人力成本 | | **数据治理** | 元数据管理、数据血缘、数据质量、数据安全等完整治理体系 | | **实时决策** | 秒级数据接入与加工,满足实时业务监控与决策需求 | | **服务赋能** | 统一数据服务网关,以 API 形式对外开放数据能力 | --- ## 技术架构 ``` ┌─────────────────────────────────────────────────────┐ │ 应用层 │ │ 数据大屏 │ 报表看板 │ 数据播报 │ 数据API服务 │ ├─────────────────────────────────────────────────────┤ │ 服务层 │ │ 数据服务网关 │ 统一认证 │ 权限管理 │ 任务调度引擎 │ ├─────────────────────────────────────────────────────┤ │ 数据层 │ │ 离线数仓(ODS/DWD/DWS/ADS) │ 实时数仓(Kafka+Flink) │ │ 元数据管理 │ 数据质量 │ 数据安全 │ ├─────────────────────────────────────────────────────┤ │ 基础设施层 │ │ MySQL │ PostgreSQL │ ClickHouse │ Kafka │ Flink │ HDFS │ └─────────────────────────────────────────────────────┘ ``` --- ## 前端技术栈 | 技术 | 版本/说明 | 用途 | |:---|:---|:---| | **Vue.js** | 2.x | 渐进式 JavaScript 框架 | | **Ant Design Pro** | ant-design-vue | 企业级 UI 组件库 | | **Vue Router** | 3.x | SPA 路由管理 | | **Vuex** | 3.x | 全局状态管理 | | **Axios** | — | HTTP 客户端,统一封装请求/响应拦截 | | **ECharts** | — | 数据可视化图表库 | | **NProgress** | — | 页面加载进度条 | | **WebSocket** | — | 实时通信(实时数仓监控) | | **Monaco Editor** | — | 在线 SQL 编辑器(语法高亮+自动补全)| | **Font Awesome** | — | 矢量图标库 | ### 前端架构特点 - **SPA 单页应用**:基于 Vue Router 实现前端路由,页面切换无闪烁 - **组件化开发**:每个功能模块封装为独立组件,支持懒加载(代码分割) - **权限控制**:基于 RBAC 的前端路由权限控制,不同角色看到不同菜单 - **国际化支持**:内置中英文多语言支持(i18n) - **工作台定制**:支持拖拽式布局、快捷入口、个性化主题配置 ### 前端目录结构 ``` src/ ├── api/ # API 接口定义 │ ├── system/ # 系统管理接口 │ ├── odw/ # 离线数仓接口 │ ├── rdw/ # 实时数仓接口 │ ├── dmg/ # 数据管理接口 │ ├── dap/ # 数据应用接口 │ └── monitor/ # 监控接口 ├── components/ # 公共组件 │ ├── SqlEditor/ # SQL 编辑器组件 │ ├── DragTable/ # 拖拽表格组件 │ └── Chart/ # 图表组件 ├── views/ # 页面视图 │ ├── system/ # 系统管理页面 │ ├── odw/ # 离线数仓页面 │ ├── rdw/ # 实时数仓页面 │ ├── dmg/ # 数据管理页面 │ ├── dap/ # 数据应用页面 │ ├── monitor/ # 系统监控页面 │ ├── echarts/ # 仪表盘页面 │ └── dashboard/ # 工作台页面 ├── router/ # 路由配置 ├── store/ # Vuex 状态管理 ├── utils/ # 工具函数 │ ├── request.js # Axios 封装 │ └── auth.js # 认证工具 ├── assets/ # 静态资源 └── layout/ # 布局组件 ``` --- ## 后端技术栈 | 技术 | 版本/说明 | 用途 | |:---|:---|:---| | **Spring Boot** | 2.x | 核心框架 | | **Spring Security** | — | 认证与授权 | | **JWT** | — | 无状态 Token 认证 | | **MyBatis / MyBatis-Plus** | — | ORM 框架 | | **Apache Kafka** | — | 分布式消息队列 | | **Apache Flink** | — | 流批一体计算引擎 | | **Quartz / XXL-JOB** | — | 分布式任务调度 | | **Apache Druid** | — | 数据库连接池监控 | | **DataX / Canal** | — | 数据采集与同步 | | **Redis** | — | 缓存与会话管理 | | **Swagger** | — | API 文档自动生成 | | **Logback** | — | 日志管理框架 | ### 后端架构特点 - **分层架构**:Controller → Service → Mapper → DB,职责清晰 - **JWT 认证**:无状态 Token,支持 Token 刷新和踢人下线 - **RBAC 权限模型**:用户 → 角色 → 菜单/权限,细粒度功能权限控制 - **数据权限**:支持按部门进行数据隔离 - **代码生成器**:根据数据库表结构自动生成 CRUD 代码和页面 - **多数据源**:支持配置多个数据库连接,动态切换 - **操作日志**:AOP 切面自动记录用户操作行为 - **分布式任务调度**:支持 Cron 表达式定时任务 ### 后端目录结构 ``` src/main/java/com/agile/ ├── common/ # 公共模块 │ ├── annotation/ # 自定义注解(日志、权限等) │ ├── config/ # 全局配置 │ ├── constant/ # 常量定义 │ ├── enums/ # 枚举类 │ ├── exception/ # 异常处理 │ ├── filter/ # 过滤器 │ ├── utils/ # 工具类 │ └── xss/ # XSS 防护 ├── framework/ # 框架模块 │ ├── aspect/ # AOP 切面 │ ├── config/ # 框架配置 │ ├── interceptor/ # 拦截器 │ ├── security/ # 安全认证 │ └── web/ # Web 配置 ├── system/ # 系统管理 │ ├── controller/ # 控制器 │ ├── domain/ # 实体类 │ ├── mapper/ # MyBatis Mapper │ └── service/ # 业务服务 ├── odw/ # 离线数仓模块 ├── rdw/ # 实时数仓模块 ├── dmg/ # 数据管理模块 ├── dap/ # 数据应用模块 ├── monitor/ # 系统监控模块 ├── generator/ # 代码生成器 └── quartz/ # 定时任务 ``` --- ## 核心功能模块 ### 1. 系统管理 `System` | 子模块 | 功能说明 | |:---|:---| | **组织管理** | 用户管理、部门管理、岗位管理 | | **权限管理** | 角色管理、菜单授权(RBAC 权限模型) | | **系统设置** | 菜单管理、字典管理、参数设置、数据仓库配置 | | **中台配置** | 数仓定义、客户端管理、告警配置、执行机配置 | | **日志管理** | 操作日志、登录日志、调度日志 | | **系统应用** | 通知公告、图标选择、工作台配置 | | **个人管理** | 个人中心、我的流程、我的审批 | ### 2. 离线数仓 `ODW` | 子模块 | 功能说明 | |:---|:---| | **数据接入** | 数据源配置(MySQL/Oracle/PG/SQL Server)、JDBC 在线查询、数据采集申请与配置、元数据采集、加密配置 | | **数据加工** | 数仓分类管理(ODS→DWD→DWS→ADS)、可视化建表(DDL 生成)、数仓任务编排 | | **数据外发** | 外部数据库建表、外发任务管理与监控 | | **调度管理** | 任务管理、任务状态监控、执行日志、依赖编排 | ### 3. 实时数仓 `RDW` | 子模块 | 功能说明 | |:---|:---| | **实时配置** | CDC 数据源配置(MySQL Binlog)、Kafka 集群管理、Flink 作业参数配置 | | **实时采集** | 采集任务创建与配置、采集吞吐量与延迟监控、采集状态管理 | | **实时加工** | Flink SQL 实时任务、微批任务、微批工作流编排 | | **实时监控** | 实时日志检索、实时告警通知、工作流实例追踪 | ### 4. 数据管理 `DMG` | 子模块 | 功能说明 | |:---|:---| | **数据安全** | 权限申请与审批流程、库表字段级权限分配、数据库备份 | | **数据查询** | 在线 SQL 编辑器(语法高亮+自动补全)、SQL 任务保存与复用 | | **数据导入导出** | 数据导出(CSV/Excel)、导入配置、在线数据导入与迁移 | | **数据质量** | 完整性/一致性/准确性/唯一性多维度规则检测、质量评估报告 | | **数据资产** | 元数据查询、数据模型浏览、数据地图可视化、全链路数据血缘追踪 | ### 5. 数据应用 `DAP` | 子模块 | 功能说明 | |:---|:---| | **数据服务** | 模块定义、服务管理(RESTful API 发布/版本管理)、服务调用日志、服务在线测试 | | **数据播报** | 播报任务配置、定时推送报表指标到指定渠道、播报日志与追踪 | ### 6. 系统监控 `Monitor` | 功能 | 说明 | |:---|:---| | **在线用户** | 实时查看在线用户列表和会话信息 | | **定时任务** | Cron 表达式定时任务管理和监控 | | **数据监控** | Druid 连接池状态、SQL 执行性能分析 | | **服务监控** | 服务器 CPU、内存、磁盘、JVM 等指标监控 | | **缓存监控** | Redis 命中率、内存使用情况 | | **缓存列表** | 缓存键值数据的查看和管理 | ### 7. 系统工具 `Tool` - **代码生成器**:根据数据库表自动生成前后端 CRUD 代码 - **模板配置**:自定义代码生成模板 - **文件中心**:上传中心、下载中心 - **可视化大屏**:ECharts 数据大屏展示 --- ## 快速开始 ### 前端启动 ```bash # 安装依赖 npm install # 开发环境启动 npm run dev # 构建生产包 npm run build:prod ``` ### 后端启动 ```bash # 方式一:IDE 直接运行 # 运行 Application.java 启动类 # 方式二:Maven 打包 mvn clean package -DskipTests java -jar agile-data.jar # 方式三:指定配置文件 java -jar agile-data.jar --spring.profiles.active=prod ``` ### 默认配置 | 配置项 | 默认值 | |:---|:---| | 应用端口 | `8080` | | 数据库 | `MySQL 5.7+` | | Redis | `6379` | | 日志路径 | `./logs/` | | 文件上传路径 | `./upload/` | --- ## 环境要求 | 组件 | 最低配置 | 推荐配置 | |:---|:---|:---| | JDK | 1.8+ | JDK 11 | | Node.js | 12.x+ | 16.x+ | | MySQL | 5.7+ | 8.0 主从集群 | | Redis | 5.0+ | 6.0+ 集群 | | Maven | 3.6+ | 3.8+ | | Kafka | 2.8+ | 3.x 集群 | | Flink | 1.14+ | 1.17+ on K8s | --- ## 演示环境 联系微信号:laowang5244。 --- ## 系统截图 #### 1.数据查询 ![数据查询.png](docs/系统截图/数据查询.png) #### 2.采集配置 ![数据查询.png](docs/系统截图/采集配置.png) #### 3.数仓建模 ![数据查询.png](docs/系统截图/数仓建模.png) #### 4.数仓任务 ![数据查询.png](docs/系统截图/数仓任务.png) #### 5.任务日志 ![数据查询.png](docs/系统截图/任务日志.png) #### 6.实时采集 ![实时采集.png](docs/系统截图/实时采集.png) #### 7.元数据查询 ![元数据查询.png](docs/系统截图/元数据查询.png) #### 8.数据服务 ![数据服务.png](docs/系统截图/数据服务.png) --- ## License 本项目基于 MIT 协议开源。 --- > **Agile Data** — 让数据驱动业务增长