停车位预约导航系统APP
注意:
部署步骤:
1先搭建好后端接口
2.导入SQL脚本
3.部署后端接口
测试Swagger-ui.html文档
http://localhost:9000/easy_to_stop/swagger-ui.html
4.部署android端,注意接口IP地址的更换
部署完毕后,即可使用!
停车位预约导航系统APP-资源下载:
https://download.csdn.net/download/Tian208/85907423
开发功能
本系统为基于Spring Boot与Android设计的App系统,后端业务逻辑处理多数有Spring Boot框架提供接口处理,Android端主要专注于布局开发及接口数据的处理。
本系统主要分为用户端及停车位的添加两大模块,本系统开发的功能主要分为用户客户端及商家停车位的添加两大模块。其中用户客户端主要的功能为通过地图查看自己的位置及搜索查询停车位的位置,以及操作可以预约的停车位,对其进行停车位的预约及导航操作,另外用户还可以查看自己的预约记录及对已预约的停车位进行取消或确定处理;商家停车位的添加则是将停车位相关的信息进行添加供用户使用。
1.开发技术
本系统为基于SpringBoot+Android开发的APP,其中后端接口逻辑则由SpringBoot框架技术实现,Android端的实现也是基于Kotlin语言开发的客户端。其中开发技术模式如图2所示。
2.功能模块说明
系统的功能模块说明如下。
(1)管理停车位。
管理员可以查看已添加的停车位i,对停车位进行添加删除等操作。
(2)注册登录模块。
用户可以注册登录使用该APP的功能。用户注册时需要使用手机号注册且密码为8位中文字符混合。
(3)搜索查看停车位。
用户可以搜索某个位置下的停车位,并查看停车位的详情及查看停车位是否可预约的情况。
(4)预约停车位。
用户可以对需要的停车位进行预约,并且可以进行导航到到该停车位,用户可以实时定位自己的位置。
(5)我的预约。
用户可以查看自己的预约的记录,并可以查看预约的详情,还可以取消预约或确定完成订单处理。
3.项目结构
Spring Boot目录结构
android 端目录结构
4.SQl脚本
/*
SQLyog Professional v12.14 (64 bit)
MySQL - 5.7.37-log : Database - easy_to_stop
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`easy_to_stop` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `easy_to_stop`;
/*Table structure for table `t_admin` */
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin` (
`id` bigint(19) NOT NULL COMMENT '主键',
`admin` varchar(50) NOT NULL COMMENT '管理员账号',
`admin_password` varchar(100) NOT NULL COMMENT '管理员密码',
`role` varchar(50) NOT NULL COMMENT '角色',
`locked` tinyint(1) DEFAULT '1' COMMENT '判断账户密码是否未过期',
`check_enabled` tinyint(1) DEFAULT '1' COMMENT '判断账户是否可用',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Table structure for table `t_stall` */
DROP TABLE IF EXISTS `t_stall`;
CREATE TABLE `t_stall` (
`stall_id` bigint(19) NOT NULL COMMENT '主键',
`province` varchar(100) NOT NULL COMMENT '省份',
`city` varchar(100) NOT NULL COMMENT '城市',
`address` varchar(500) NOT NULL COMMENT '车位地址',
`longitude` varchar(20) NOT NULL COMMENT '经度',
`latitude` varchar(20) NOT NULL COMMENT '纬度',
`is_book` tinyint(1) DEFAULT '0' COMMENT '车位是否已经被预约',
`is_use` tinyint(1) DEFAULT '0' COMMENT '车位是否在使用中',
`url` varchar(500) DEFAULT NULL COMMENT '照片链接',
`price` int(11) DEFAULT '0' COMMENT '价格',
`category` varchar(100) DEFAULT NULL COMMENT '停车位类型',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '车位注册时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '车位信息更新时间',
PRIMARY KEY (`stall_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Table structure for table `t_stall_use` */
DROP TABLE IF EXISTS `t_stall_use`;
CREATE TABLE `t_stall_use` (
`id` bigint(19) NOT NULL COMMENT '主键',
`user_id` bigint(19) NOT NULL COMMENT '预约用户ID',
`stall_id` bigint(19) NOT NULL COMMENT '预约停车位Id',
`is_book` bigint(20) DEFAULT '0' COMMENT '预约状态(判断是否取消)',
`book_time` datetime DEFAULT NULL COMMENT '预约时间',
`cancel_book` tinyint(1) DEFAULT '0' COMMENT '判断是否取消预约',
`cancel_book_time` datetime DEFAULT NULL COMMENT '取消预约时间',
`is_start_use` tinyint(1) DEFAULT '0' COMMENT '使用状态(判断是否开始使用)',
`use_start_time` datetime DEFAULT NULL COMMENT '开始使用时间',
`is_end_use` tinyint(1) DEFAULT NULL COMMENT '判断是否已经结束使用',
`use_end_time` datetime DEFAULT NULL COMMENT '结束使用时间',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '信息创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '信息修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Table structure for table `t_user` */
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`user_id` bigint(19) NOT NULL COMMENT '主键(雪花算法)',
`nickname` varchar(50) NOT NULL COMMENT '用户昵称',
`phone` varchar(20) NOT NULL COMMENT '用户手机号',
`password` varchar(100) NOT NULL COMMENT '用户密码',
`gender` varchar(10) NOT NULL COMMENT '性别',
`age` int(3) DEFAULT NULL COMMENT '年龄',
`address` varchar(100) DEFAULT NULL COMMENT '用户所在省份',
`balance` double(18,2) DEFAULT '0.00' COMMENT '余额(元)',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
5.界面效果
(1)停车位添加界面效果如图23所示。
(2)用户注册登录界面效果如图24所示。
(3)用户查看主页及个人信息界面效果如图25所示。
(4)用户查看我的预约及预约的详情界面效果如图26所示。
(5)系统定位功能及获取定位界面效果图如图27所示。
(6)系统首页搜索停车位及查看预约停车位效果图如图28所示。
(7)系统调用第三方软件实现地图导航效果图如图29所示。