11 KiB
Epidemic prevention platform
基于微服务的社区疫情防控系统(防疫平台)
简介
功能
对社区疫情管控模式进行分析,针对社区人员进出入、体温上报、买菜团购、药品购置等日常生活物资的调控与管理进行分析。深入了解微服务架构,设计并实现社区疫情防控系统
要求
1.分析社区疫情管控模式需求; 2.深入理解微服务架构思想; 3.设计并实现社区疫情防控各模块; 4.撰写论文
功能拆分
功能 | 功能描述 | 居民端 | 门禁端 | 志愿者端 | 管理员端 |
---|---|---|---|---|---|
社区人员进出入 | 临时访客的进出申请、放行逻辑(待定)。 外出返回居民的进社区提前报备;去外地出行前的提前申请。 扩展: 1. 二维码状态颜色(要和政府健康码颜色保持基本一致) 2. 刷脸、刷卡出入 居民:进出入 1. 居民端展示动态二维码,门禁端识别放行 2. 门禁端展示动态二维码,居民端识别放行 (对于行动不便人群提供固定二维码) 管理员:查看、管理居民进出入 1. 查看人员进出记录 2. 设置指定居民进出权限 |
√ | √ | √ | |
体温上报 | 体温/健康信息上报;健康码收集 居民:每日上报体温 (每天上报时相同信息默认自动填充,不需要重复填写) 管理员: 1. 查看居民体温上报记录 2. 异常记录推送提醒 |
√ | √ | ||
日常生活物资的调控(买菜团购、药品购置) | 三种策略:团购、正常购买&秒杀(防超买)、预定 物资有限,分配策略很重要(保证每个用户不会总抢不到,也尽量避免总分配给)。 扩展:居民互助交流,物资交换(待定) 居民端: 查看生活物资 下单 取消订单 发布求助信息(比如缺少什么物资) 管理员: 发布/修改/删除物资信息,设置每人/每户最多买多少 查看当前物资订单状态 查看居民需要的物资求助信息,针对性处理(增补物资等),然后将其标记为已处理/已忽略等 |
√ | √ | √ |
用户账户创建逻辑:
- 社区预先导入 (1)社区门牌号信息,以及门牌号对应的户主身份信息;(2)临时租户信息;(3)社区流动人员登记信息
- 用户注册账号,注册后绑定系统中已有户主信息(必要信息:用户的电话号码(方便发送短信以及社区联系),微信号)
系统保证:
- 某一功能出现问题不影响其他功能
- 核心功能出现问题要有降级策略,不能完全不可用
- 用户信息的安全性
更多可以拓展的功能:
- 大屏展示
- 与政府健康码信息同步
- 系统建设后的平滑过渡(从不使用这个系统到推广这个系统)
- 社区通知模块(管理员可以发布公告,社区居民点开居民端后可以浏览公告信息),也可以定向发布消息(即方便管理员联系社区居民;进一步扩展可以发送短信等)
- 部分部署(可以只部署需要用到的模块)
可以参考的一些:
(附源码)springboot社区疫情防控管理系统 毕业设计 164621:https://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 3(JavaScript框架)、Element Plus(UI组件库) | 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代表着单机模式运行,非集群模式
cd nacos/bin
# Windows
startup.cmd -m standalone
# Linux/Unix/Mac
# sh startup.sh -m standalone
# bash startup.sh -m standalone
Nacos后台默认用户名密码都是:nacos
前端
代码克隆下来后,第一次需要安装依赖
cd ./frontend
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm,可以通过 npm i cnpm进行安装
cnpm install
# npm install --legacy-peer-deps
之后在 frontend
目录下运行即可
npm run serve
开发步骤记录
前端
初始化Element-plus项目
参考:https://blog.csdn.net/weixin_39237340/article/details/121132154
# 检查 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 Netflix Feign(停更)、OpenFeign |
服务降级(服务熔断降级) | Hystrix(停更)、resilience4j、Alibaba Sentinel(推荐) |
服务网关 | Zuul(停更)、Zuul2(胎死腹中)、SpringCloud Gateway(推荐) |
服务分布式配置(服务分布式配置) | SpringCloud Config(不再使用)、Alibaba Nacos(推荐) |
服务总线 | SpringCloud Bus(不再使用)、Alibaba Nacos(推荐) |
服务开发 | Spring Boot |
创建Module步骤
- 创建Module
- 改pom
- 写yml
- 主启动
- 业务类
相关链接
后端
JDK
OpenJDK:https://openjdk.org/
Java SE 11:https://jdk.java.net/java-se-ri/11
Spring
Spring Cloud官网:https://spring.io/projects/spring-cloud
Spring Cloud Alibaba GitHub repo:https://github.com/alibaba/spring-cloud-alibaba
Spring initializr:https://start.spring.io/
Gateway
B站教程:https://www.bilibili.com/video/BV1JB4y1F7aL
Maven
MVN REPOSITORY:https://mvnrepository.com/
Nacos
Quick Start:https://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 Vue:https://www.antdv.com/docs/vue/introduce