# competition **Repository Path**: guo_jianping/competition ## Basic Information - **Project Name**: competition - **Description**: 比赛系统功能需求文档 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-23 - **Last Updated**: 2025-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 比赛系统项目 ## 项目概述 这是一个全栈的比赛管理系统,包含用户端(移动端)和管理端(PC端),支持赛事管理、商城系统、俱乐部管理、用户积分体系等完整功能。 ## 技术架构 ### 后端技术栈 - **框架**: Spring Boot 3.x + Spring Security - **数据库**: MySQL 8.0 + Redis - **消息队列**: RabbitMQ - **文件存储**: OSS/MinIO - **支付**: 微信支付 + 支付宝 - **消息推送**: 微信公众号 + 短信平台 ### 前端技术栈 - **管理端**: Vue 3 + Element Plus + TypeScript - **移动端**: uni-app (支持微信小程序、H5、APP) - **构建工具**: Vite - **状态管理**: Pinia ### 架构设计 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 移动端应用 │ │ 管理端应用 │ │ 第三方服务 │ │ (uni-app) │ │ (Vue 3) │ │ │ │ │ │ │ │ - 微信支付 │ │ - 用户端 │ │ - 系统管理 │ │ - 支付宝 │ │ - 赛事报名 │ │ - 赛事管理 │ │ - 短信平台 │ │ - 商城购物 │ │ - 用户管理 │ │ - OSS存储 │ │ - 俱乐部 │ │ - 数据统计 │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └────────────────────────┼────────────────────────┘ │ ┌─────────────────────────────────┐ │ API网关 │ │ (Spring Cloud Gateway) │ └─────────────────────────────────┘ │ ┌─────────────────────────────────┐ │ 后端服务集群 │ │ (Spring Boot Cluster) │ │ │ │ - 用户服务 │ │ - 赛事服务 │ │ - 商城服务 │ │ - 支付服务 │ │ - 消息服务 │ └─────────────────────────────────┘ │ ┌─────────────────────────────────┐ │ 数据层 │ │ MySQL + Redis + RabbitMQ │ └─────────────────────────────────┘ ``` ## 🚀 快速启动 ### 方式一:Docker一键部署(推荐生产环境) ```bash # 克隆项目 git clone cd competition # 启动所有服务 docker-compose up -d # 访问系统 # 管理端: http://localhost:3000 # 后端API: http://localhost:8080/api # API文档: http://localhost:8080/doc.html # 默认登录账号 # 用户名: admin # 密码: admin123 ``` ### 方式二:本地开发环境(推荐开发调试) #### Windows快速启动 ```bash # 双击运行启动脚本 start-dev.bat # 或命令行启动 .\start-dev.bat ``` #### 手动启动步骤 ```bash # 1. 启动数据库和Redis docker-compose -f docker-compose.dev.yml up -d # 2. 启动后端服务 cd backend mvnw spring-boot:run # 3. 启动前端服务 cd admin-frontend npm install npm run dev ``` #### 服务访问地址 - 前端管理系统: http://localhost:3000 - 后端API服务: http://localhost:8080 - API接口文档: http://localhost:8080/doc.html - 数据库管理: http://localhost:8081 (phpMyAdmin) - Redis管理: http://localhost:8082 (Redis Commander) 详细说明请参考:[本地开发环境指南](docs/LOCAL_DEVELOPMENT.md) ## 核心功能模块 ### 1. 用户管理模块 - 用户注册/登录 (微信授权/手机号) - 个人信息管理 - 会员等级体系 - 积分系统 - 优惠券管理 ### 2. 赛事管理模块 - 赛事发布与管理 - 报名流程管理 - 审核流程 - 成绩管理 - 证书生成 ### 3. 商城模块 - 商品管理 - 购物车 - 订单管理 - 支付集成 - 物流跟踪 ### 4. 俱乐部模块 - 俱乐部创建与管理 - 活动发起 - 会员管理 - 挑战系统 ### 5. 系统管理模块 - 角色权限管理 - 片区管理 - 数据统计 - 系统配置 ## 数据库设计要点 ### 用户相关表 - users: 用户基本信息 - user_profiles: 用户详细资料 - user_levels: 会员等级 - user_points: 积分记录 - user_coupons: 优惠券 ### 赛事相关表 - competitions: 赛事信息 - competition_categories: 赛事分类 - registrations: 报名记录 - competition_results: 比赛结果 - certificates: 证书记录 ### 商城相关表 - products: 商品信息 - orders: 订单 - order_items: 订单详情 - shopping_cart: 购物车 - logistics: 物流信息 ### 俱乐部相关表 - clubs: 俱乐部信息 - club_members: 俱乐部成员 - club_activities: 俱乐部活动 - challenges: 挑战记录 ### 系统相关表 - roles: 角色 - permissions: 权限 - regions: 片区 - system_configs: 系统配置 ## 项目目录结构 ``` competition/ ├── backend/ # 后端项目 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/competition/ │ │ │ │ ├── controller/ # 控制器 │ │ │ │ ├── service/ # 服务层 │ │ │ │ ├── repository/ # 数据访问层 │ │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── dto/ # 数据传输对象 │ │ │ │ ├── config/ # 配置类 │ │ │ │ └── utils/ # 工具类 │ │ │ └── resources/ │ │ │ ├── application.yml # 配置文件 │ │ │ └── db/migration/ # 数据库迁移文件 │ │ └── test/ # 测试文件 │ ├── pom.xml # Maven配置 │ └── Dockerfile # Docker配置 ├── admin-frontend/ # 管理端前端 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── router/ # 路由 │ │ ├── store/ # 状态管理 │ │ ├── api/ # API接口 │ │ └── utils/ # 工具函数 │ ├── package.json │ └── vite.config.ts ├── mobile-frontend/ # 移动端前端 │ ├── pages/ # 页面 │ ├── components/ # 组件 │ ├── static/ # 静态资源 │ ├── utils/ # 工具函数 │ ├── manifest.json # uni-app配置 │ └── pages.json # 页面配置 ├── docs/ # 项目文档 │ ├── api/ # API文档 │ ├── database/ # 数据库文档 │ └── deployment/ # 部署文档 ├── docker-compose.yml # Docker编排 └── README.md # 项目说明 ``` ## 开发计划 ### 第一阶段: 基础架构搭建 - [x] 项目架构设计 - [ ] 数据库设计 - [ ] 后端基础框架 - [ ] 前端基础框架 ### 第二阶段: 核心功能开发 - [ ] 用户管理系统 - [ ] 赛事管理系统 - [ ] 权限管理系统 ### 第三阶段: 业务功能完善 - [ ] 商城系统 - [ ] 俱乐部系统 - [ ] 支付集成 ### 第四阶段: 高级功能 - [ ] 数据统计 - [ ] 消息推送 - [ ] 系统优化 ## 部署方案 - **开发环境**: Docker Compose本地部署 - **测试环境**: Kubernetes集群 - **生产环境**: 云服务器 + CDN + 负载均衡 ## 注意事项 1. 需要申请微信小程序开发者账号 2. 需要申请支付接口(微信支付/支付宝) 3. 需要申请短信平台服务 4. 需要申请云存储服务(OSS) 5. 建议使用HTTPS部署保证安全性