基于 Spring Boot + MySQL + Redis + Vue 的会展管理系统,覆盖普通用户、主办用户和管理员三类角色,支持会展浏览、展位查询、在线报名、候补、退款申请、行程确认、公告通知和后台审核管理。
- 后端:Spring Boot 2.2.5、MyBatis-Plus、Druid、Redis、MySQL
- 前端:Vue 2、Element UI、Vue CLI
- 运行环境:JDK 8、Node 22.17.0、npm 10.9.2
src/main/java:Spring Boot 后端源码src/main/resources:后端配置、Mapper、静态上传目录frontend/admin:管理员端前端frontend/home:用户端前端sql/project.sql:基础数据库脚本sql/project_patch_local.sql:数据库补丁脚本sql/refresh_demo_content.sql:演示内容修正脚本sql/waitlist_demo.sql:候补流程演示数据脚本
本仓库已经通过 .gitignore 排除了这些本地敏感内容:
src/main/resources/application-local.yml(含真实数据库密码)frontend/admin/.env.localfrontend/home/.env.localmaven/(本地 Maven 配置,含镜像和仓库地址)target/logs/LOCAL_RUN.md
在提交到 GitHub 之前,请确认你没有手动执行 git add -f 把这些文件强行加入版本库。
注意: 本仓库不包含
maven/目录。构建脚本会自动检测:如果存在项目内maven/则使用它,否则 fallback 到系统环境变量中的mvn命令。请确保你的系统已安装 Maven 并配置好镜像源(推荐阿里云镜像)。
另一台电脑建议安装:
- Git
- IntelliJ IDEA
- JDK 8
- Maven 3.6.1 及以上
- MySQL 8.0 或 5.7
- Redis 6.x 或兼容版本
- Node.js 22.17.0
- npm 10.9.2
git clone <your-github-repo-url>
cd project先创建数据库 project_db,然后按顺序执行:
mysql -u root -p project_db < sql/project.sql
mysql -u root -p project_db < sql/project_patch_local.sql
mysql -u root -p project_db < sql/refresh_demo_content.sql # 推荐,用于修正演示内容
mysql -u root -p project_db < sql/waitlist_demo.sql # 可选,用于候补流程演示后端:
copy src\main\resources\application-local.example.yml src\main\resources\application-local.yml前端:
copy frontend\admin\.env.example frontend\admin\.env.local
copy frontend\home\.env.example frontend\home\.env.local需要填写的重点配置:
- MySQL 地址、账号、密码
- Redis 地址、密码
- 邮箱账号和授权码
- AMap Key、AI Key(仅在相关功能需要时配置)
- 使用 IDEA 打开项目根目录
- 等待 Maven 依赖导入完成
- 设置项目 JDK 为
1.8 - 运行
src/main/java/com/project/demo/Application.java - 环境变量建议设置:
SPRING_PROFILES_ACTIVE=local
默认后端接口前缀:
http://127.0.0.1:5000/api
如果你在本地改成了其他端口,例如 5002,前端 .env.local 里的代理地址也要同步修改。
管理员端:
cd frontend\admin
npm install --legacy-peer-deps
npm run dev用户端:
cd frontend\home
npm install --legacy-peer-deps
npm run dev默认访问地址:
- 管理员端:
http://127.0.0.1:8080 - 用户端:
http://127.0.0.1:8081
这个项目目前没有附带开源许可证。如果你准备公开发布,建议先补一个你确认接受的许可证,例如:
- MIT
- Apache-2.0
许可证属于法律层面的授权承诺,不建议在你未明确选择前默认替你添加。