基于 Spring Boot 开发的校园交通车预约平台,提供用户注册登录、车次查询、座位预约等功能。
- 后端框架: Spring Boot
- 数据库: MySQL 8.0
- ORM框架: MyBatis Plus
- 缓存: Redis
- 身份认证: JWT
- 工具库: Hutool, Lombok
- User: 用户信息管理
- Trip: 车次信息管理
- Seat: 座位信息管理
- Order: 订单信息管理
- 用户模块:注册登录、验证码发送、用户信息管理
- 车次模块:车次查询、车次添加、数据预热
- 订单模块:座位预约、订单查询
git clone https://github.com/Jerremiz/reservation-java.git
cd reservation-java- 环境要求
- Java 17+
- MySQL 8.0+
- Redis 6.0+
- Maven 3.6+
- 配置数据库
- 执行
src/main/resources/res.sql创建相关表结构 - 修改
src/main/resources/application.properties_bak为application.properties,完善其中 MySQL 和 Redis 连接信息,以及短信服务配置(已适配Spug推送助手)
mvn spring-boot:run项目将在 http://localhost:8081 启动
- 修改配置
- 设置
docker-compose.yml中的MYSQL_ROOT_PASSWORD - 修改
redis.conf_bak为redis.conf,可修改密码等配置 - 修改
src/main/resources/application-prod.properties_bak为application-prod.properties,完善其中 MySQL 和 Redis 连接信息,以及短信服务配置(已适配Spug推送助手)
- 构建容器
docker compose up --build -d将启动以下服务:
- MySQL: 3306
- Redis: 6379
- 应用: 8081
- 初始化数据库
- 执行
src/main/resources/res.sql创建相关表结构
POST /user/code
Content-Type: application/json
{
"phone": "13800138000"
}
POST /user/login
Content-Type: application/json
{
"phone": "13800138000",
"code": "123456"
}
POST /user/logout
Authorization: <token>
GET /user/me
Authorization: <token>
GET /reservation/trips?departureDate=2024-01-01
GET /reservation/trip?tripId=1
POST /reservation/trip
Content-Type: application/json
{
"plateNum": "G1001",
"seatCount": 100,
"departure": "北京",
"destination": "上海",
"departureTime": "2024-01-01T08:00:00",
"arrivalTime": "2024-01-01T14:00:00"
}
POST /reservation/preload
Content-Type: application/json
"2024-01-01"
POST /reservation/order
Content-Type: application/json
{
"userId": 1,
"tripId": 1,
"seatId": 1,
"amount": 100.00
}
GET /reservation/order?userId=1