项目简介
本项目是仿照12306售票系统开发的微服务项目。运用Spring Cloud Alibaba、Spring Boot 3、JDK 17、MySQL、Redis、Nacos、Sentinel、Seata、RocketMQ等技术栈,实现了前后端分离。前端包含admin和web模块,后端涵盖gateway、member、business、batch等模块。
项目的主要特性和功能
会员模块
- 支持手机号+验证码的登录注册方式。
- 可进行乘客管理,用户能为自己或他人购票。
- 能查询某日起点到终点所有车次和余票。
- 可选择车次、乘客和座位进行车票购买。
- 购买成功后可查看车票。
管理模块
- 进行基础车次维护,包含车站、车次、车厢、座位、到站等信息。
- 生成每日车次数据。
- 查看所有会员。
- 查看所有已售出票。
数据库表
- 会员表:存储会员信息,含手机号。
- 乘客表:存储乘客信息,含会员ID、姓名、身份证号、旅客类型。
- 车票表:存储车票信息,含会员ID、乘客ID、乘客姓名、日期、车次、座位。
- 业务表:存储车站、车次、车厢、座位等相关信息。
安装使用步骤
环境准备
- 安装JDK 17,并配置好环境变量。
- 安装并配置MySQL数据库,创建相应的数据库和表。
- 安装并启动Redis服务。
- 下载并启动Nacos服务,用于服务注册与发现。
- 下载并启动Sentinel,用于流量控制和熔断降级。
- 下载并启动Seata,用于分布式事务管理。
- 下载并启动RocketMQ,用于消息队列。
项目构建
- 复制项目(此处原文未提供复制命令)。
- 使用IDEA或Eclipse导入项目,确保所有依赖项正确加载。
- 修改
application.yml
和bootstrap.yml
中的配置,确保数据库连接、Redis连接、Nacos地址等配置正确。 - 依次启动各个模块的服务,确保Nacos中可以看到所有服务注册成功。
运行项目
- 进入前端项目目录,运行以下命令启动前端服务:
bash npm install npm run dev
- 确保所有后端服务已启动,可通过Nacos控制台查看服务状态。
- 打开浏览器,访问前端服务的地址,如
http://localhost:8080
,即可进入仿12306售票系统。
测试
- 使用JUnit等测试框架进行单元测试。
- 使用Postman等工具进行集成测试,确保各个接口正常工作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】