[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80465":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":8,"pushedAt":8,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80465,"UBA-X","HappyNewYear1995\u002FUBA-X","HappyNewYear1995",null,"Java",128,14,10,6,0,5,16,48,19,3.53,false,"main",true,[],"2026-06-12 02:04:02","# UBA-X\n\n**数智化用户行为洞察与分析系统**\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![Java](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJava-17-orange.svg)](https:\u002F\u002Fwww.oracle.com\u002Fjava\u002F)\n[![Spring Boot](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSpring%20Boot-3.5.9-brightgreen.svg)](https:\u002F\u002Fspring.io\u002Fprojects\u002Fspring-boot)\n[![Vue](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3.x-green.svg)](https:\u002F\u002Fvuejs.org\u002F)\n\n## 项目简介\n\nUBA-X（User Behavior Analytics）是一个企业级的用户行为分析平台，提供从数据采集、传输、存储到分析洞察的全链路解决方案。系统采用微服务架构设计，支持多租户管理，可灵活部署于各种规模的业务场景。\n\n## 核心特性\n\n- **全链路数据采集**：支持 Web、H5、App、小程序等多端数据采集\n- **实时数据处理**：基于 Flink 的实时数据流处理引擎\n- **智能分析洞察**：提供页面访问、事件追踪、用户画像等多维度分析\n- **多租户架构**：完善的租户隔离与权限管理体系\n- **灵活存储方案**：支持多种数据存储策略，满足不同规模需求\n- **Agent 探针管理**：通过 ubax-pilot 实现分布式数据采集探针的远程控制与配置管理\n- **可视化报表**：丰富的数据可视化组件，直观展示分析结果\n\n## 技术栈\n\n### 后端\n\n| 技术 | 版本 | 说明 |\n|------|------|------|\n| Java | 17 | 开发语言 |\n| Spring Boot | 3.5.9 | 核心框架 |\n| MyBatis Plus | - | ORM 框架 |\n| Liquibase | - | 数据库版本管理 |\n| Redis | - | 缓存中间件 |\n| Flink | - | 实时计算引擎 |\n| MapStruct | 1.6.3 | 对象转换 |\n| Lombok | 1.18.42 | 代码简化 |\n| Hutool | 5.8.25 | 工具类库 |\n\n### 前端\n\n| 技术 | 版本 | 说明 |\n|------|------|------|\n| Vue | 3.x | 前端框架 |\n| Vite | - | 构建工具 |\n| Element Plus | - | UI 组件库 |\n| TypeScript | - | 类型系统 |\n| Pinia | - | 状态管理 |\n| Vue Router | - | 路由管理 |\n\n## 项目结构\n\n```\nuba-x\u002F\n├── ubax-dependencies\u002F              # 依赖管理 BOM\n├── ubax-framework\u002F                 # 框架核心\n│   ├── ubax-common\u002F                # 通用工具类\n│   ├── ubax-spring-boot-starter-web\u002F           # Web 组件\n│   ├── ubax-spring-boot-starter-security\u002F      # 安全组件\n│   ├── ubax-spring-boot-starter-mybatis\u002F       # MyBatis 组件\n│   ├── ubax-spring-boot-starter-redis\u002F         # Redis 组件\n│   ├── ubax-spring-boot-starter-mq\u002F            # 消息队列组件\n│   ├── ubax-spring-boot-starter-job\u002F           # 定时任务组件\n│   ├── ubax-spring-boot-starter-excel\u002F         # Excel 组件\n│   ├── ubax-spring-boot-starter-monitor\u002F       # 监控组件\n│   ├── ubax-spring-boot-starter-protection\u002F    # 服务保障组件\n│   ├── ubax-spring-boot-starter-websocket\u002F     # WebSocket 组件\n│   ├── ubax-spring-boot-starter-biz-tenant\u002F    # 多租户组件\n│   ├── ubax-spring-boot-starter-biz-ip\u002F        # IP 组件\n│   └── ubax-spring-boot-starter-biz-data-permission\u002F  # 数据权限组件\n├── ubax-server\u002F                    # 主启动模块\n├── ubax-module-system\u002F             # 系统管理模块\n├── ubax-module-infra\u002F              # 基础设施模块\n├── ubax-module-collect\u002F            # 数据采集模块\n├── ubax-module-storage\u002F            # 数据存储模块\n├── ubax-module-analysis\u002F           # 数据分析模块\n├── ubax-module-flink\u002F              # Flink 实时计算模块\n├── ubax-module-pilot\u002F              # Agent 探针管理模块\n└── ubax-ui\u002F                        # 前端项目\n```\n\n## 模块说明\n\n### ubax-framework\n\n框架核心层，提供项目所需的各种 Starter 组件：\n\n- **ubax-common**: 通用工具类、常量、枚举、异常处理等\n- **ubax-spring-boot-starter-web**: Web 相关配置、全局异常处理、统一返回格式\n- **ubax-spring-boot-starter-security**: 安全认证、权限控制、JWT 支持\n- **ubax-spring-boot-starter-mybatis**: MyBatis Plus 集成、自动填充、分页插件\n- **ubax-spring-boot-starter-redis**: Redis 缓存、分布式锁\n- **ubax-spring-boot-starter-mq**: 消息队列集成\n- **ubax-spring-boot-starter-job**: 定时任务（Quartz）\n- **ubax-spring-boot-starter-biz-tenant**: 多租户支持、租户隔离\n- **ubax-spring-boot-starter-excel**: Excel 导入导出\n- **ubax-spring-boot-starter-monitor**: 监控与链路追踪\n- **ubax-spring-boot-starter-protection**: 限流、防重、幂等\n- **ubax-spring-boot-starter-websocket**: WebSocket 支持\n- **ubax-spring-boot-starter-biz-ip**: IP 地址解析\n- **ubax-spring-boot-starter-biz-data-permission**: 数据权限控制\n\n### ubax-module-system\n\n系统管理模块，提供基础的系统管理功能：\n\n- 用户管理、角色管理、权限管理\n- 菜单管理、部门管理、岗位管理\n- 字典管理、参数配置\n- 登录日志、操作日志\n- 租户管理、租户套餐\n- OAuth2 认证、第三方登录\n- 短信服务、邮件服务、通知服务\n\n### ubax-module-infra\n\n基础设施模块，提供系统基础设施支持：\n\n- 文件管理、文件存储配置\n- 代码生成器\n- 定时任务管理\n- API 访问日志、错误日志\n- Redis 监控\n\n### ubax-module-collect\n\n数据采集模块，负责用户行为数据的采集与接入。\n\n### ubax-module-storage\n\n数据存储模块，提供灵活的数据存储策略。\n\n### ubax-module-analysis\n\n数据分析模块，提供用户行为分析功能：\n\n- 页面访问分析\n- 事件追踪分析\n- 用户画像分析\n- 转化漏斗分析\n\n### ubax-module-flink\n\nFlink 实时计算模块，基于 Apache Flink 实现：\n\n- 实时数据流处理\n- 实时指标计算\n- 实时告警\n\n### ubax-module-pilot\n\nAgent 探针管理模块，用于与 ubax-pilot 探针通讯和控制交互：\n\n- Agent 注册与心跳管理\n- SSE 长连接推送配置与命令\n- Agent 在线状态监控\n- 远程命令下发\n- Agent 数据持久化\n\n**接口说明**：\n\n| 接口路径 | 方法 | 说明 | 类型 |\n|---------|------|------|------|\n| `\u002Fpilot\u002Fagent\u002Fconfig` | GET | 探针拉取配置 | App |\n| `\u002Fpilot\u002Fagent\u002Fheartbeat` | POST | 心跳上报 | App |\n| `\u002Fpilot\u002Fagent\u002Fpush` | GET | SSE 推送流 | App |\n| `\u002Fpilot\u002Fagent\u002Fpage` | GET | Agent 分页列表 | Admin |\n| `\u002Fpilot\u002Fagent\u002Fget` | GET | Agent 详情 | Admin |\n| `\u002Fpilot\u002Fagent\u002Fpush-command` | POST | 推送命令 | Admin |\n\n### ubax-ui\n\n前端管理后台，基于 Vue 3 + Element Plus 构建：\n\n- 响应式布局，支持多端适配\n- 丰富的组件库\n- 动态路由、权限控制\n- 多标签页、主题切换\n\n## 快速开始\n\n### 环境要求\n\n- JDK 17+\n- Maven 3.8+\n- MySQL 8.0+\n- Redis 6.0+\n- Node.js 18+（前端）\n- pnpm 8+（前端）\n\n### 后端启动\n\n1. **克隆项目**\n   ```bash\n   git clone https:\u002F\u002Fgitee.com\u002FFoleyZhao\u002Fuba-x.git\n   cd uba-x\n   ```\n\n2. **初始化数据库**\n   ```bash\n   # 创建数据库\n   mysql -u root -p -e \"CREATE DATABASE ubax DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\"\n   \n   # 项目启动时 Liquibase 会自动执行数据库脚本\n   ```\n\n3. **修改配置**\n   ```bash\n   # 编辑配置文件\n   vim ubax-server\u002Fsrc\u002Fmain\u002Fresources\u002Fapplication-dev.yaml\n   ```\n   \n   修改数据库连接、Redis 连接等配置。\n\n4. **编译项目**\n   ```bash\n   mvn clean install -DskipTests\n   ```\n\n5. **启动服务**\n   ```bash\n   cd ubax-server\n   mvn spring-boot:run\n   ```\n\n### 前端启动\n\n1. **安装依赖**\n   ```bash\n   cd ubax-ui\n   pnpm install\n   ```\n\n2. **启动开发服务器**\n   ```bash\n   pnpm dev\n   ```\n\n3. **访问系统**\n   \n   打开浏览器访问 `http:\u002F\u002Flocalhost:3000`\n\n## 配置说明\n\n### 数据库配置\n\n在 `application-dev.yaml` 中配置数据库连接：\n\n```yaml\nspring:\n  datasource:\n    url: jdbc:mysql:\u002F\u002Flocalhost:3306\u002Fubax?useSSL=false&serverTimezone=Asia\u002FShanghai\n    username: root\n    password: your_password\n```\n\n### Redis 配置\n\n```yaml\nspring:\n  redis:\n    host: localhost\n    port: 6379\n    password: your_password\n```\n\n### Liquibase 配置\n\n```yaml\nspring:\n  liquibase:\n    enabled: true\n    change-log: classpath:db\u002Fchangelog\u002Fmaster.xml\n```\n\n## 开发规范\n\n### 代码规范\n\n- 遵循阿里巴巴 Java 开发手册\n- 使用 Lombok 简化代码\n- 使用 MapStruct 进行对象转换\n- Controller 层严禁业务逻辑，统一返回 `CommonResult\u003CT>`\n- 业务异常统一抛出 `ServiceException`\n\n### 数据库规范\n\n- 使用 Liquibase 管理数据库版本\n- 表名使用 `模块_业务` 命名（如 `system_users`）\n- 所有表必须包含 `create_time`、`update_time`、`creator`、`updater`、`deleted` 字段\n- 使用 `BaseDO` 作为实体基类\n\n### 接口规范\n\n- Controller 分为 `admin`（管理后台）和 `app`（用户端）\n- 接口路径格式 `\u002F模块\u002F业务`\n- 使用 Swagger 注解标注接口信息\n- 参数校验使用 JSR-303 注解\n\n## 数据库版本管理\n\n项目使用 Liquibase 进行数据库版本管理，脚本位于 `ubax-server\u002Fsrc\u002Fmain\u002Fresources\u002Fdb\u002Fchangelog\u002F`：\n\n```\ndb\u002Fchangelog\u002F\n├── master.xml                    # 主入口\n├── schema\u002F                       # 表结构变更（DDL）\n│   ├── changelog-schema.xml\n│   └── V1__init_schema.sql\n└── data\u002F                         # 数据变更（DML）\n    ├── changelog-data.xml\n    └── V1__init_data.sql\n```\n\n**新增变更**：\n- 表结构变更：在 `schema\u002F` 下创建 SQL 文件，并在 `changelog-schema.xml` 中引用\n- 数据变更：在 `data\u002F` 下创建 SQL 文件，并在 `changelog-data.xml` 中引用\n\n## 部署\n\n### Docker 部署\n\n（待补充）\n\n### 生产环境配置\n\n（待补充）\n\n## 常见问题\n\n### Q: 启动时数据库初始化失败？\n\nA: 确保 MySQL 版本为 8.0+，并创建了 `ubax` 数据库。Liquibase 会在启动时自动执行建表脚本。\n\n### Q: 如何添加新的业务模块？\n\nA: \n1. 在根 `pom.xml` 中添加新模块\n2. 创建模块目录结构，参考 `ubax-module-system`\n3. 在 `ubax-server` 中引入新模块依赖\n\n## 贡献指南\n\n欢迎提交 Issue 和 Pull Request！\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature\u002FAmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature\u002FAmazingFeature`)\n5. 提交 Pull Request\n\n## 许可证\n\n本项目采用 Apache 2.0 许可证，详见 [LICENSE](LICENSE) 文件。\n\n## 联系方式\n\n- 项目地址：https:\u002F\u002Fgitee.com\u002FFoleyZhao\u002Fuba-x\n- 问题反馈：提交 Issue\n\n## 致谢\n\n感谢以下开源项目：\n\n- [Spring Boot](https:\u002F\u002Fspring.io\u002Fprojects\u002Fspring-boot)\n- [MyBatis Plus](https:\u002F\u002Fbaomidou.com\u002F)\n- [Vue.js](https:\u002F\u002Fvuejs.org\u002F)\n- [Element Plus](https:\u002F\u002Felement-plus.org\u002F)\n- [Liquibase](https:\u002F\u002Fwww.liquibase.org\u002F)\n","UBA-X 是一个企业级的用户行为分析平台，提供从数据采集、传输、存储到分析洞察的全链路解决方案。该项目采用微服务架构设计，支持多租户管理，能够灵活部署于各种规模的业务场景。其核心功能包括全链路数据采集（支持Web、H5、App、小程序等多端）、基于Flink的实时数据处理、智能分析洞察（如页面访问、事件追踪、用户画像等），以及丰富的数据可视化报表展示。技术上，后端主要使用Java 17和Spring Boot 3.5.9框架，前端则基于Vue 3.x构建。适合需要深入了解用户行为并进行精细化运营的企业或团队使用。",2,"2026-06-11 04:00:52","CREATED_QUERY"]