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

239 lines
6.4 KiB
Markdown
Raw Normal View History

# Epidemic prevention platform
2022-11-23 20:55:50 +08:00
> 基于微服务的社区疫情防控系统
代码仓库:[GitHub](https://github.com/coder-xiaomo/epp) [Gitee](https://gitee.com/coder-xiaomo/epp) [自建](https://git.only4.work/coder-xiaomo/epp)
## 简介
2022-11-23 20:55:50 +08:00
新冠疫情的出现,给人们的工作和生活带来了较大影响,也对社区疫情防控相关工作做了更高的要求。如何准确、快速、有效的落实疫情防控相关工作是对社区工作能力的一次全方位检验。基于此背景,结合社区疫情防控主要特点及核心要求,在对社区疫情管控模式进行充分分析后,开发了该基于微服务的社区疫情防控系统。
本系统采用微服务架构进行开发,充分发挥架构优势,围绕社区人员进出入、体温上报、买菜团购、药品购置四个社区疫情防控核心需求展开,为社区疫情防控工作保驾护航。
## 功能
对社区疫情管控模式进行分析,针对社区人员进出入、体温上报、买菜团购、药品购置等日常生活物资的调控与管理进行分析。深入了解微服务架构,设计并实现社区疫情防控系统
## 要求
1.分析社区疫情管控模式需求;
2022-10-24 09:06:07 +08:00
2022-11-23 20:55:50 +08:00
2.深入理解微服务架构思想;
2022-10-24 09:06:07 +08:00
2022-11-23 20:55:50 +08:00
3.设计并实现社区疫情防控各模块;
2022-10-24 09:06:07 +08:00
2022-11-23 20:55:50 +08:00
4.撰写论文
2022-10-24 09:06:07 +08:00
## 使用技术栈
2022-11-23 20:55:50 +08:00
项目开发环境Windows 11 / Ubuntu Desktop 22.04 LTS、OpenJDK 11、MySQL 8.0.12(暂定)
2022-11-23 20:55:50 +08:00
项目部署环境Linux、MySQL、nacos暂定
2022-11-23 20:55:50 +08:00
| 板块 | 技术栈 | 开发工具 | 备注 |
| ------ | ------------------------------------------------------------ | --------------------------------------- | ---- |
| 前端 | Vue 3JavaScript框架、Element PlusUI组件库 | VS Code | 暂定 |
| 后端 | Java 11开发语言、SpringCloud微服务、nacos-server-2.1.2服务注册与发现、Redis缓存 | Intellij IDEA | |
| 小程序 | Taro小程序跨端跨框架 | VS Code、微信开发者工具、小程序开发工具 | |
| 数据库 | MySQL数据存储 | Navicat | |
2022-10-24 09:06:07 +08:00
## 数据库设计
> 微服务:一个服务对应一个数据库,同一个信息可能存在不同的数据库
用户表
人员进出日志表(按月归档)
体温上报表(按日归档)
## 启动项目
2022-11-06 00:54:54 +08:00
### Step1. 启动项目后端
#### 1.启动nacos
2022-11-05 22:06:48 +08:00
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**
2022-11-06 00:54:54 +08:00
#### 2.启动MySQL
2022-11-06 00:54:54 +08:00
#### 3.启动各个微服务
2022-11-23 20:55:50 +08:00
```
# 启动 UserProvider
# 启动
```
2022-11-06 00:54:54 +08:00
### Step2. 启动项目前端
#### 1.启动后台管理员项目
代码克隆下来后,第一次需要安装依赖
```bash
cd ./frontend
2022-11-05 15:29:57 +08:00
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm可以通过 npm i cnpm进行安装
cnpm install
# npm install --legacy-peer-deps
```
之后在 `frontend` 目录下运行即可
```bash
npm run serve
```
2022-11-06 00:54:54 +08:00
#### 2.小程序打包
2022-11-06 00:54:54 +08:00
待更新
## 开发步骤记录
### 前端
#### 初始化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
2022-11-06 00:18:46 +08:00
##### Gateway
B站教程https://www.bilibili.com/video/BV1JB4y1F7aL
#### Maven
MVN REPOSITORYhttps://mvnrepository.com/
2022-11-05 22:06:48 +08:00
#### 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
2022-11-23 20:55:50 +08:00
### 小程序端
#### Taro
Tarohttps://docs.taro.zone/docs
#### 微信小程序
开发文档https://developers.weixin.qq.com/miniprogram/dev/framework/
#### 支付宝小程序
开发文档https://opendocs.alipay.com/mini/developer/getting-started
支付宝开放平台https://open.alipay.com/develop/manage
支付宝沙箱应用https://open.alipay.com/develop/sandbox/app
支付宝沙箱应用 - 文档https://opendocs.alipay.com/common/02kkv7