|
7 | 7 | #### 【开源情况】:
|
8 | 8 | 部分代码开源,不存在授权问题,完全自主原创,不存在任何后门,不使用任何第三方私有jar包,性能和安全完全自主可控,想怎么耍就这么耍,就是这么任性,后续更新的话本人会持续更新部署教程。代码专业规范,新手看得懂,高手喜欢用。本系统完全免费
|
9 | 9 | #### 【部署环境】:
|
10 |
| -目前仅测试linux环境一切正常,win环境没部署过 |
| 10 | +目前仅测试linux环境一切正常,win环境没部署过,演示地址在本文章末尾 |
11 | 11 | #### 【关于作者】:
|
12 | 12 | 屌丝码农一枚,4年前曾就职于开发停车场系统的公司,发现目前国内该领域垄断,技术过于陈旧,没有一个规范,故个人用来接近1年的时间在业余时间开发出这种系统,现代化标准的互联网应用,定位大型物联网大数据云平台系统,我个人微信Dove981011512,如果你在部署我这套系统中遇到问题或者发现存在漏洞的请联系我,存在不足之处还望多多提宝贵意见,让我们打破市场垄断,让物联网应用更好的服务生活社会
|
13 | 13 |
|
14 | 14 | #### 软件架构
|
15 |
| -软件架构说明 |
| 15 | +一、技术构成简述 |
| 16 | +(一)编程语言与架构简述 |
| 17 | +1.开发语言 |
| 18 | +(1)服务端 |
| 19 | +服务端语言目前均采用java语言开发,jdk版本要求1.8+。开发框架为springboot2+dubbo,鉴权采用oauth2,DB操作框架Mybaits,即时通讯底层框架与协议netty4 |
| 20 | + |
| 21 | +(2)客户端 |
| 22 | +目前我们主要客户端分为三个场景,分别为安卓,ios,微信公众号。安卓与ios均为原生开发,H5页面web端框架为vue |
| 23 | + |
| 24 | +(3)后台管理 |
| 25 | +后台管理前端框架采用的是主流的vue element admin(TypeScript版本),分层清晰,官方文档完整,社区活跃 |
| 26 | + |
| 27 | +2.数据存储 |
| 28 | +(1)重要数据存储 |
| 29 | +重要数据均采用mysql进行存储,支持部署主从,大部分数据尽可能进行事务处理,确保数据容灾性 |
| 30 | + |
| 31 | +(2)一般数据存储 |
| 32 | +非重要性数据例如聊天内容,系统消息通知,广告等数据均存储于mongodb数据库中 |
| 33 | + |
| 34 | +(3)缓存数据存储 |
| 35 | +微小量缓存会存在mysql中,例如评论的前N条评论快照会超小量进行字段适当冗余,在提高存储性价比情况下大大提高数据的查询能力。其它大部分数据缓存均存储于redis数据中 |
| 36 | + |
| 37 | +3.性能与安全 |
| 38 | +(1)性能解决方案 |
| 39 | +架构与技术解决方案均为本团队一线5年开发经验总结,目前我们正在接触的项目真实用户40w+,毫无压力,我们系统采用的架构与技术均在仔细多方面综合考虑后多次调整,采用更加合理,性能更佳的模式与解决方案 |
| 40 | + |
| 41 | +(2)安全解决方案 |
| 42 | +所有请求均需携带jwt串token进行访问,每个接口服务和管理服务均需配置公钥文件且具有jwt串token合法性校验能力,用户权限服务携带私钥文件负责密钥生成 |
| 43 | + |
| 44 | +4.架构与生命力 |
| 45 | +(1)采用架构 |
| 46 | +本系统采用阿里巴巴微服务框架dubbo来进行实现微服务提供能力,追求高性能,高可用,超细粒度独立微服务,相同服务可以动态灵活增加与减少,支持不停机发布新版本服务。每个服务之间均为独立存在,互不影响。例如短信发送,支付,订单,停车场系统接口,停车场后台管理,停车场提供者服务等均为独立的服务。 |
| 47 | + |
| 48 | +(2)架构潜力 |
| 49 | +整个系统众多服务分工明确,细粒度微服务,实现真正的插拔服务,功能的删减或停用,新增等均可在不破坏和入侵原来系统的前提下满足新的开发需求 |
| 50 | + |
| 51 | +5.二次开发说明 |
| 52 | +(1)适用客户对象 |
| 53 | +①本身有互联网it编程技术和经验或者拥有技术团队的。 |
| 54 | +②不具备第一个条件但是费用预算比较充足,二次开发需求少或者愿意支付高额定制费的 |
| 55 | +(2)团队要求 |
| 56 | +服务器运维,安卓与ios开发者,web前端开发者,java实际开发经验2年+开发者 |
| 57 | + |
| 58 | +(3)技术要求 |
| 59 | +过硬的java编程能力,网络编程能力,数据库设计与优化能力,架构设计能力,微服务思维能力,成熟的前端技术开发能力,中大型系统部署与运营能力 |
| 60 | + |
| 61 | +(4)硬件要求 |
| 62 | +Linux操作系统,4核8G(最低)5M带宽,可多台服务器中的微服务指向统一微服务调度中心(本系统微服务调度中心管理平台zookeeper) |
| 63 | + |
| 64 | +(二)软件与硬件数据交互简述 |
| 65 | +1.硬件端 |
| 66 | +(1)目前解决方案 |
| 67 | +封装工具类,兼容市场主流硬件设备,只负责各类硬件数据封装为统一数据结构。硬件发包目前多为http主动推送数据,被动接受服务端返回指令 |
| 68 | + |
| 69 | +(2)未来解决方案 |
| 70 | +改造主流厂商硬件底层服务系统,新增硬件规范的合法身份数据,采用长连接进行数据交互,保证数据与指令的实时性与可靠性得到更好的保障 |
| 71 | + |
| 72 | +2.服务端 |
| 73 | +(1)被动处理硬件数据 |
| 74 | +中间件处理各类前端数据,接收硬件推送数据,解析,计算,做出相应反馈 |
| 75 | + |
| 76 | +(2)主动通知硬件发生事件行为 |
| 77 | +长连接推送指令,例如开闸,实时动态配置硬件数据等, |
| 78 | + |
| 79 | +二、常规功能简述 |
| 80 | +(一)基础功能 |
| 81 | +1.硬件管理 |
| 82 | +支持单个硬件管理与记录,硬件在线状态,维修与进度记录等。与指定停车场出入口进行绑定,均有记录GPS位置 |
| 83 | + |
| 84 | +2.停车场管理 |
| 85 | +不同时段费用配置,每日封顶因素综合参与动态计费,也支持静态+每日上限计费。支持查询附近停车场功能 |
| 86 | + |
| 87 | +3.停车记录管理 |
| 88 | +详细记录产生时间,地点,进出口位置,进出时间,异常数据实时推送与快速处理 |
| 89 | + |
| 90 | +4.支付机构管理 |
| 91 | +每个停车场的支付账号均可以独立配置,支持同一个停车场使用多家支付机构进行支付,例如支付宝,微信,银联等。 |
| 92 | + |
| 93 | +5.支付与优惠活动管理 |
| 94 | +支付宝与微信,银联都均支持免密支付(无感支付)。本系统自带优惠券功能,支持支持多种套餐自定义与用户进行快捷手机上下单随时购买 |
| 95 | + |
| 96 | +(二)特色功能 |
| 97 | +1.异常数据实时推送,汇报,及时处理,提前预知与通知 |
| 98 | +2.即时通讯功能(IM聊天沟通) |
| 99 | +性能,架构,优化等均参考微信聊天功能机制进行开发 |
| 100 | + |
| 101 | +3.行业好友与圈子 |
| 102 | +让该应用不止只能停车,还能交到志同道合的行业知音,让应用更有温度 |
| 103 | + |
| 104 | +4.商城与营销功能 |
| 105 | +此功能主要考虑到使用者有运营周边的兴趣和能力,在商城和广告营销上进行盈利 |
16 | 106 |
|
17 | 107 |
|
18 | 108 | #### 安装教程
|
19 | 109 |
|
20 | 110 | 1. 安装JDK1.8+
|
21 |
| -2. xxxx |
22 |
| -3. xxxx |
| 111 | +2. 安装MySQL5.6+ 安装MongoDB 安装Redis 安装FastDFS 安装Zookeeper |
| 112 | +3. 将打包好的代码上传到服务器上,直接运行jar包即可 |
23 | 113 |
|
24 |
| -#### 使用说明 |
| 114 | +#### 使用说明(swagger2文档) |
25 | 115 |
|
26 |
| -1. xxxx |
27 |
| -2. xxxx |
28 |
| -3. xxxx |
| 116 | +【用户基础数据相关】:http://139.9.155.149:8080/swagger-ui.html |
| 117 | +【停车场相关】:http://139.9.155.149:8089/swagger-ui.html |
| 118 | +【短信】:http://139.9.155.149:8085/swagger-ui.html |
| 119 | +【文件上传】:http://139.9.155.149:8088/swagger-ui.html |
| 120 | +【支付相关】:http://139.9.155.149:8096/swagger-ui.html |
29 | 121 |
|
30 | 122 | #### 参与贡献
|
31 | 123 |
|
|
35 | 127 | 4. 新建 Pull Request
|
36 | 128 |
|
37 | 129 |
|
38 |
| -#### 码云特技 |
| 130 | +#### 演示地址 |
| 131 | +http://139.9.155.149 |
| 132 | + |
| 133 | + |
39 | 134 |
|
40 |
| -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md |
41 |
| -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) |
42 |
| -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 |
43 |
| -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 |
44 |
| -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) |
45 |
| -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) |
|
0 commit comments