#云开发挑战赛#-西工大浴室预约-名字叫啥都
发布于 4 年前 作者 mxu 1955 次浏览 来自 分享

目录

目录

项目介绍

应用场景

目标用户

项目效果

实现思路

体验版小程序

团队简介

部署教程

开源许可

项目介绍

应用场景

  1. 浴室状态查询
  • 方便快捷。通过小程序,用户只需要进入到主界面就可以了解到当前楼层的浴室使用情况,可以根据前方队伍的排队人数和预计等待时间来了解浴室的拥挤状况,用户可以通过切换楼层来了解整栋宿舍楼的浴室使用状况,并且来决定是否前往其他楼层进行洗浴。
  • 安排时间。在主界面中,小程序给出了用户可能需要等待的时间,这个时间是根据当前队伍的人数变化来不断更新的,用户可以根据预计等待时间来合理安排自己的生活,告别了传统的在浴室前拥堵的洗浴模式
  1. 浴室预约
  • 实用性。在小程序的预约系统中,后台通过云函数来记录用户完成预约的时间,系统根据预约时间进行排序,根据时间先后来决定洗浴顺序。同时,在预约系统中时刻监控数据库中数据的变化,用户可以在第一时间获得浴室的消息。
  • 灵活性。在浴室预约系统中,小程序引入了信用分机制,用户在成功完成洗浴后将会获得信用分奖励,反之用户如果频繁取消预约或者未能按时完成预约则会扣除信用分,信用分在低于一定程度后会降低预约的优先级。通过信用分机制可以有效避免恶意预约等状况。
  1. 智能提醒
  2. 在用户完成预约后,小程序会通过询问用户来获取发送推送消息的权限,用户无需时刻关注手机和小程序,在排队完成后小程序会以推送消息的形式来提醒用户。不管是在书桌前还是在操场上,用户都可以远程完成浴室预约,更高效更快捷地完成洗浴。

目标用户

校内学生

校内学生作为大学校园内主流群体,是使用小程序的最主要用户,也是小程序主要的服务对象。小程序的数据库便是依托于西北工业大学校园内的宿舍楼分布和浴室分布状况来建立,小程序充分考虑到了学生用户的需求:

  1. 快捷。只需要在主界面点击预约便可完成排队,并且可以实时查看楼层浴室的拥挤状况,不需要反复前往浴室查看有没有空位置,节约了大量时间。
  2. 效率。在主界面的预计等待时间中,用户可以根据可能需要的时间来合理安排自己的学习和工作,避免了时间的浪费。

项目效果

预约界面

确认预约

当前预约

历史预约

实现思路

用户通过腾讯地图插件进行定位,选择自己所在的宿舍楼,并自行选定楼层。点击预约按钮,会将预定信息提交到等待队列数据库中,并同步写入历史订单但数据库。中央调度的云函数是绑定了10秒一次的触发器的,函数运行的时候检测浴室使用情况数据库来查看是否有空余浴室,如果有,则向排队队列队首的用户发送淋雨消息。

体验版小程序

团队简介

西北工业大学:林泽佳、杨奕凡

部署教程

 git clone https://gitee.com/zeege/take-a-bath.git
 cd take-a-bath
 在当前目录下打开微信开发者工具,并填入APPID即可导入
  • 部署的云函数:cloudfunctions内的全部函数
  • 部署的触发器:cloudfunctions/roomSheduler
  • 涉及到的外部服务:腾讯地图插件
  • 云数据库中需要创建的数据

注:可使用manage/createCollections.js快速建立数据库
  • NWPU:浴室使用情况数据库,需预先建立如下格式
  • NWPU-Queue:排队队列数据库,需预先建立如下格式:
  • orderHistory:订单历史记录数据库,不需要预先添加数据
  • orderStatus:订单状态数据库,不需要预先添加数据
  • userInfo:用户信息数据库,不需要预先添加数据
  • 云存储中需要上传的文件:浴缸和花洒图标,用于“我的”页面的展示

开源许可

MIT License

Copyright (c) 2020 Zeege

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

回到顶部