# BigData **Repository Path**: zzssheng/big-data ## Basic Information - **Project Name**: BigData - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-20 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文旅智能推荐平台 > 大数据实践赛参赛作品 | 智能出行决策与个性化推荐系统 ## 🚀 快速运行 ```bash # 前端 cd frontend npm run dev # 后端 cd backend mvn spring-boot:run ``` ## 📋 项目简介 本项目是一个面向旅游出行的**智能推荐与决策支持平台**,通过整合多源数据与AI技术,为用户提供从出行规划到景区游玩的一站式智能服务。 ### 核心能力 - 🎯 **个性化推荐** - 基于性格测试的智能景区匹配 - 🌤️ **出行决策** - 综合天气、油价、气象预警的出行建议 - 🚗 **交通规划** - 火车、航班查询与行程规划 - 🌿 **游玩辅助** - 植物识别、景点导览等趣味功能 --- ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────┐ │ 前端展示层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 首页 │ │ 景区推荐 │ │ 行程规划 │ │ 个人中心 │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────────────────────┐ │ 后端服务层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 用户服务 │ │ 推荐引擎 │ │ 数据聚合 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────────────────────┐ │ 外部API层 │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐│ │ │景区API │ │天气API │ │交通API │ │图像识别│ │油价API ││ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘│ └─────────────────────────────────────────────────────────┘ ``` --- ## 🔧 技术栈 ### 前端 - **框架**: React 19 + TypeScript - **UI组件**: Ant Design 5.x - **状态管理**: Zustand / Redux Toolkit - **路由**: React Router 6 - **地图**: 高德地图 JS API - **可视化**: ECharts + D3.js (雷达图、关系图) - **HTTP客户端**: Axios - **构建工具**: Vite - **移动端适配**: 响应式设计 + 可选小程序版本 ### 后端 - **框架**: Spring Boot 3.x + Java 21 - **数据库**: MySQL 8.0 - **缓存**: Redis 7.x (热点数据缓存 + 分布式锁) - **ORM**: MyBatis-Plus - **搜索**: Elasticsearch 8.x (景区搜索) - **消息队列**: RabbitMQ / Redis Stream (异步任务) - **API文档**: Knife4j (Swagger增强) ### AI/算法 - **推荐算法**: 协同过滤 + 内容推荐 + 性格匹配 - **图像识别**: 百度AI / 阿里云视觉智能 - **数据分析**: Python + Pandas + Scikit-learn --- ## 📊 数据来源 | 数据类型 | 数据来源 | 用途 | |---------|---------|------| | 景区信息 | 携程开放平台 / 美团API | 景点详情、门票、评分 | | 天气数据 | 和风天气 API | 出行天气评估 | | 油价信息 | 聚合数据 API | 自驾成本计算 | | 火车查询 | 12306 API | 铁路出行方案 | | 航班查询 | 飞常准 / VariFlight API | 航空出行方案 | | 植物识别 | 百度AI植物识别 | 景区植物科普 | | 地图服务 | 高德地图 API | 路线规划、导航 | --- ## 🎯 核心功能模块 ### C端功能 #### 1. 智能测评系统 - **性格测试问卷** - 20-30道选择题,涵盖旅游偏好 - **AI生成报告** - 雷达图展示用户画像,多维度评分 - **标签体系** - 自动生成用户标签(如"文化爱好者"、"自然探索者") #### 2. 智能推荐引擎 - **匹配度评分** - 每个景点显示0-100分匹配度 - **个性化推荐** - 基于用户画像 + 协同过滤 - **推荐理由** - AI解释为什么推荐这个景点 #### 3. 出行决策服务 - **出游适宜度评分** - 综合天气、油价、拥堵指数 - **最佳出行时间推荐** - 基于历史数据预测 - **智能行程规划** - 一键生成完整出行方案 #### 4. 游玩辅助功能 - **植物识别** - 拍照识别景区植物 - **景点攻略** - AI生成个性化游玩建议 ### B端功能 #### 1. 营销决策支持 - **今日营销指数** - 综合天气、油价、节假日预测客流 - **推广建议** - AI建议今日是否加大推广力度 - **效果预测** - 预测不同营销策略的转化效果 #### 2. 用户画像分析 - **客群画像** - 来访游客的年龄、地域、偏好分布 - **竞品分析** - 同类景区对比分析 - **趋势预测** - 未来7天客流趋势 #### 3. 数据可视化大屏 - **实时数据** - 今日访问量、订单量、转化率 - **历史对比** - 与上周/上月同期对比 - **热力地图** - 游客来源地分布 --- ## 📁 项目结构 ``` travel-recommendation-platform/ ├── frontend/ # 前端项目 (React + TS) │ ├── src/ │ │ ├── components/ # 公共组件 │ │ │ ├── common/ # 通用组件 │ │ │ ├── charts/ # 图表组件(雷达图、关系图) │ │ │ └── business/ # 业务组件 │ │ ├── pages/ # 页面视图 │ │ │ ├── user/ # C端用户端页面 │ │ │ │ ├── Assessment/ # 测评页 │ │ │ │ ├── Report/ # AI报告页 │ │ │ │ ├── Recommend/ # 推荐页 │ │ │ │ └── Itinerary/ # 行程规划页 │ │ │ └── business/ # B端商家端页面 │ │ │ ├── Dashboard/ # 数据大屏 │ │ │ ├── Analysis/ # 用户画像分析 │ │ │ └── Decision/ # 营销决策 │ │ ├── hooks/ # 自定义Hooks │ │ ├── store/ # Zustand状态管理 │ │ ├── services/ # API接口服务 │ │ ├── utils/ # 工具函数 │ │ └── types/ # TypeScript类型定义 │ ├── package.json │ └── vite.config.ts ├── backend/ # 后端项目 (Spring Boot) │ ├── src/main/java/com/travel/ │ │ ├── controller/ # 控制器层 │ │ ├── service/ # 业务逻辑层 │ │ │ ├── user/ # C端用户服务 │ │ │ └── business/ # B端商家服务 │ │ ├── mapper/ # 数据访问层(MyBatis) │ │ ├── entity/ # 实体类 │ │ ├── config/ # 配置类(Redis等) │ │ └── utils/ # 工具类 │ ├── src/main/resources/ │ │ ├── application.yml # 主配置 │ │ └── mapper/ # XML映射文件 │ └── pom.xml ├── algorithm/ # 算法模块 │ ├── recommendation/ # 推荐算法 │ │ ├── user_scoring.py # 用户评分算法 │ │ ├── spot_scoring.py # 景点评分算法 │ │ └── matching.py # 匹配度计算 │ ├── assessment/ # 测评算法 │ │ └── personality_test.py # 性格测试分析 │ └── data_analysis/ # 数据分析 ├── docs/ # 文档 │ ├── api/ # API文档 │ ├── design/ # 设计文档 │ └── report/ # 研究报告 └── README.md ``` --- ## 🚀 快速开始 ### 环境要求 - Node.js >= 18 - Java >= 21 - Maven >= 3.8 - MySQL >= 8.0 - Redis >= 7.0 - Docker (可选,用于快速启动Redis) ### 安装步骤 ```bash # 1. 克隆项目 git clone https://github.com/your-team/travel-recommendation-platform.git # 2. 安装前端依赖 cd frontend npm install npm run dev # 3. 安装后端依赖 cd ../backend mvn clean install mvn spring-boot:run # 4. 启动Redis docker run -d -p 6379:6379 --name travel-redis redis:7-alpine # 5. 初始化数据库 mysql -u root -p < docs/sql/init.sql ``` --- ## 👥 团队成员 | 姓名 | 负责模块 | 技能贡献 | |------|---------|---------| | 张泽升 | 项目统筹、架构设计 | 后端开发、API整合 | | 张艺轩 | 数据模块 | 数据采集、清洗 | | 李宛思 | 前端开发 | UI设计、交互实现 | | 房虹匣 | 推荐算法 | 机器学习、算法优化 | | 杜晓烨 | 可视化 | 数据大屏、图表 | | 钱又琪 | 测试部署 | 系统测试、文档 | | 段涵蕊 | 天气模块 | 气象数据处理 | --- ## 📅 开发计划 | 阶段 | 时间 | 任务 | |------|------|------| | 第一阶段 | Week 1-2 | 需求分析、技术调研、API申请 | | 第二阶段 | Week 3-4 | 数据库设计、后端接口开发 | | 第三阶段 | Week 5-6 | 前端页面开发、算法实现 | | 第四阶段 | Week 7-8 | 系统集成、测试优化 | | 第五阶段 | Week 9 | 报告撰写、答辩准备 | --- ## 📄 参赛材料 - [ ] 研究报告 - [ ] 系统演示视频 - [ ] 源代码 - [ ] 数据集 - [ ] 答辩PPT --- ## 📚 参考资料 - [中国大学生计算机设计大赛官网](https://jsjds.dhu.edu.cn/) - [和风天气 API文档](https://dev.qweather.com/) - [高德地图 API文档](https://lbs.amap.com/) - [百度AI开放平台](https://ai.baidu.com/) --- ## 🔧 Redis缓存设计 ### 缓存策略 | 数据类型 | 缓存Key | 过期时间 | 说明 | |---------|---------|---------|------| | 景区详情 | `spot:detail:{id}` | 1小时 | 热点景区缓存 | | 景区列表 | `spot:list:{条件}` | 30分钟 | 筛选结果缓存 | | 用户画像 | `user:profile:{id}` | 24小时 | 用户测评结果 | | 推荐结果 | `recommend:{userId}` | 1小时 | 个性化推荐缓存 | | 天气数据 | `weather:{city}` | 30分钟 | 第三方API结果 | | 营销指数 | `business:index:{date}` | 1小时 | B端今日指数 | | 排行榜 | `rank:{type}` | 2小时 | 热门景区排行 | ### 缓存穿透/击穿防护 - **布隆过滤器**: 防止查询不存在的数据 - **互斥锁**: 热点数据重建时加锁 - **随机过期**: 避免大量缓存同时失效 --- ## 📞 联系方式 - 指导老师:XXX - 团队邮箱:xxx@example.com --- > 🏆 2025年(第18届)中国大学生计算机设计大赛 - 大数据应用类