1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee
epp/README.md

311 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Epidemic prevention platform
> 基于微服务的社区疫情防控系统(防疫平台)
代码仓库:[GitHub](https://github.com/coder-xiaomo/epp) [Gitee](https://gitee.com/coder-xiaomo/epp) [自建](https://git.only4.work/coder-xiaomo/epp)
## 简介
## 功能
对社区疫情管控模式进行分析,针对社区人员进出入、体温上报、买菜团购、药品购置等日常生活物资的调控与管理进行分析。深入了解微服务架构,设计并实现社区疫情防控系统
## 要求
1.分析社区疫情管控模式需求;
2.深入理解微服务架构思想;
3.设计并实现社区疫情防控各模块;
4.撰写论文
## 功能拆分
| 功能 | 功能描述 | 居民端 | 门禁端 | 志愿者端 | 管理员端 |
| ---------------------------------------- | ------------------------------------------------------------ | ------ | ------ | -------- | -------- |
| 社区人员进出入 | 临时访客的进出申请、放行逻辑(待定)。<br />外出返回居民的进社区提前报备;去外地出行前的提前申请。<br />扩展:<br />1. 二维码状态颜色(要和政府健康码颜色保持基本一致)<br />2. 刷脸、刷卡出入<br /><br />**居民**:进出入<br />1. 居民端展示动态二维码,门禁端识别放行<br />2. 门禁端展示动态二维码,居民端识别放行<br />(对于行动不便人群提供固定二维码)<br />**管理员**:查看、管理居民进出入<br />1. 查看人员进出记录<br />2. 设置指定居民进出权限 | √ | √ | | √ |
| 体温上报 | 体温/健康信息上报;健康码收集<br /><br />**居民**:每日上报体温<br />(每天上报时相同信息默认自动填充,不需要重复填写)<br />**管理员**<br />1. 查看居民体温上报记录<br />2. 异常记录推送提醒 | √ | | | √ |
| 日常生活物资的调控(买菜团购、药品购置) | 三种策略:团购、正常购买&秒杀(防超买)、预定<br />物资有限,分配策略很重要(保证每个用户不会总抢不到,也尽量避免总分配给)。<br />扩展:居民互助交流,物资交换(待定)<br /><br />**居民端**<br />查看生活物资<br />下单<br />取消订单<br />发布求助信息(比如缺少什么物资)<br />**管理员**<br />发布/修改/删除物资信息,设置每人/每户最多买多少<br />查看当前物资订单状态<br />查看居民需要的物资求助信息,针对性处理(增补物资等),然后将其标记为已处理/已忽略等 | √ | | √ | √ |
用户账户创建逻辑:
1. 社区预先导入 (1)社区门牌号信息,以及门牌号对应的户主身份信息;(2)临时租户信息;(3)社区流动人员登记信息
2. 用户注册账号,注册后绑定系统中已有户主信息(必要信息:用户的电话号码(方便发送短信以及社区联系),微信号)
系统保证:
1. 某一功能出现问题不影响其他功能
2. 核心功能出现问题要有降级策略,不能完全不可用
3. 用户信息的安全性
更多可以拓展的功能:
1. 大屏展示
2. 与政府健康码信息同步
3. 系统建设后的平滑过渡(从不使用这个系统到推广这个系统)
4. 社区通知模块(管理员可以发布公告,社区居民点开居民端后可以浏览公告信息),也可以定向发布消息(即方便管理员联系社区居民;进一步扩展可以发送短信等)
5. 部分部署(可以只部署需要用到的模块)
可以参考的一些:
附源码springboot社区疫情防控管理系统 毕业设计 164621https://blog.csdn.net/WeiXin_DZbishe/article/details/127091024 https://blog.csdn.net/Q_3461074420/article/details/127100890
【原创】基于JavaWeb的社区疫情防控管理系统疫情防控管理系统毕业设计https://blog.csdn.net/qq_59059632/article/details/127080812
基于springboot社区疫情防控管理系统https://blog.csdn.net/weixin_46437112/article/details/121885311
疫情防控系统http://chisc.net/CIOjulebu/dianxinganli/2020-01-31/3883.html
科技防疫——社区疫情防控平台https://zhuanlan.zhihu.com/p/108992875
【附源码】计算机毕业设计SSM社区疫情防控监管系统https://blog.csdn.net/bishe409/article/details/127413536
智慧社区防疫管理信息化系统功能清单及价格https://www.deerpu.cn/soft-1860.html https://www.deerpu.cn/softPrice-1860.html
网格化社区疫情防控系统建设方案全国版云端接入http://www.egova.com.cn/web/pdf/%E7%BD%91%E6%A0%BC%E5%8C%96%E7%96%AB%E6%83%85%E9%98%B2%E6%8E%A7%E7%B3%BB%E7%BB%9F%E6%96%B9%E6%A1%88(%E5%85%A8%E5%9B%BD%E7%89%88)-0207.pdf
基于Java+SpringBoot+vue+elementui社区疫情防控系统详细设计实现https://blog.51cto.com/u_14304894/5578744
【计算机毕业设计】java ssm社区小区疫情防控系统https://blog.csdn.net/qq_15801219/article/details/124359029
【计算机毕业设计】疫情社区管理系统的设计与实现 (新增-健康打卡https://blog.csdn.net/newuserphb/article/details/124490818
基于社区的疫情防控系统的设计与实现https://wenku.baidu.com/view/e9d96532874769eae009581b6bd97f192279bf18.html
## 其他的一些技术无关内容
系统图标,系统名称
系统登录界面可以展示的一些口号:
数据日更新,问题不过夜
## 使用技术栈
项目开发环境Ubuntu Desktop 22.04 LTS、OpenJDK 11、MySQL 8.0.12
| 板块 | 技术栈 | 开发工具 | 备注 |
| ------ | ------------------------------------------------------------ | ------------- | ---- |
| 前端 | Vue 3JavaScript框架、Element PlusUI组件库 | VS Code | 暂定 |
| 后端 | Java 11开发语言、SpringCloud微服务、nacos-server-2.1.2服务注册与发现、Redis缓存 | Intellij IDEA | |
| 数据库 | MySQL数据存储 | Navicat | |
## 需要确定的细节
用户是自己注册还是社区提供账号或者是社区提供token用户刷卡实现身份验证
## 一些需要细想的想法
用户和身份分离:一个用户账号可以绑定多个身份,比如一个社区人员同时可以是志愿者
## 前端系统设计
### 管理员端
### 社区人员端
### 志愿者端
### 门禁端
## 后端模块设计
用户认证模块(用户登录、注册、三方授权登录等)
用户信息模块(用户基本信息<住址联系方式>
用户健康状态模块(维护用户的健康状态,与外部系统同步信息)
生活物资模块(维护生活物资商品信息<菜品药品>
订单模块(社区人员下单,涉及到秒杀相关,可指定上门派送、自取或者由用户自主选择)
派送模块()
消息推送模块(系统中出现异常信息,例如系统崩溃,出现体温异常居民等,及时推送管理员)
验证码发送模块(用户注册账户,账号信息变更等)
## 数据库设计
> 微服务:一个服务对应一个数据库,同一个信息可能存在不同的数据库
用户表
人员进出日志表(按月归档)
体温上报表(按日归档)
## 启动项目
### 后端
#### 启动nacos
Nacos下载地址https://github.com/alibaba/nacos/releases/tag/2.1.2
> standalone代表着单机模式运行非集群模式
>
```bash
cd nacos/bin
# Windows
startup.cmd -m standalone
# Linux/Unix/Mac
# sh startup.sh -m standalone
# bash startup.sh -m standalone
```
Nacos后台默认用户名密码都是**nacos**
### 前端
代码克隆下来后,第一次需要安装依赖
```bash
cd ./frontend
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm可以通过 npm i cnpm进行安装
cnpm install
# npm install --legacy-peer-deps
```
之后在 `frontend` 目录下运行即可
```bash
npm run serve
```
## 开发步骤记录
### 前端
#### 初始化Element-plus项目
参考https://blog.csdn.net/weixin_39237340/article/details/121132154
```bash
# 检查 node 版本
node -v
# 安装 vue3 脚手架
npm install -g @vue/cli
# 查看安装的 vue/cli 版本
vue --version
# 使用GUI(可视化面板)形式来创建vue项目
vue ui
# npm install element-plus --save
```
### 后端
#### SpringCloud组件
| 功能 | 组件 |
| -------------------------------- | ------------------------------------------------------------ |
| 服务注册中心(服务注册与发现) | Eureka(停更)、Zookeeper、Consul、Alibaba Nacos(推荐) |
| 服务调用(服务负载与调用) | Netflix OSS Ribbon(进入维护)、SpringCloud LoadBlancer<br />Netflix Feign(停更)、OpenFeign |
| 服务降级(服务熔断降级) | Hystrix(停更)、resilience4j、Alibaba Sentinel(推荐) |
| 服务网关 | Zuul(停更)、Zuul2(胎死腹中)、SpringCloud Gateway(推荐) |
| 服务分布式配置(服务分布式配置) | SpringCloud Config(不再使用)、Alibaba Nacos(推荐) |
| 服务总线 | SpringCloud Bus(不再使用)、Alibaba Nacos(推荐) |
| 服务开发 | Spring Boot |
#### 创建Module步骤
1. 创建Module
2. 改pom
3. 写yml
4. 主启动
5. 业务类
## 相关链接
### 后端
#### JDK
OpenJDKhttps://openjdk.org/
Java SE 11https://jdk.java.net/java-se-ri/11
#### Spring
Spring Cloud官网https://spring.io/projects/spring-cloud
Spring Cloud Alibaba GitHub repohttps://github.com/alibaba/spring-cloud-alibaba
Spring initializrhttps://start.spring.io/
https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.7.5&packaging=jar&jvmVersion=11&groupId=com.cxyxiaomo&artifactId=entrance&name=Epidemic%20prevention%20platform&description=&packageName=com.cxyxiaomo.entrance&dependencies=lombok,mysql,mybatis
##### Gateway
B站教程https://www.bilibili.com/video/BV1JB4y1F7aL
#### Maven
MVN REPOSITORYhttps://mvnrepository.com/
#### Nacos
Quick Starthttps://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html
### 前端
#### Element Plus
Element Plus官网https://element-plus.gitee.io/zh-CN/
安装https://element-plus.gitee.io/zh-CN/guide/installation.html
#### Ant Design
Ant Design of Vuehttps://www.antdv.com/docs/vue/introduce