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

239 lines
6.4 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.撰写论文
## 使用技术栈
项目开发环境Windows 11 / Ubuntu Desktop 22.04 LTS、OpenJDK 11、MySQL 8.0.12(暂定)
项目部署环境Linux、MySQL、nacos暂定
| 板块 | 技术栈 | 开发工具 | 备注 |
| ------ | ------------------------------------------------------------ | --------------------------------------- | ---- |
| 前端 | Vue 3JavaScript框架、Element PlusUI组件库 | VS Code | 暂定 |
| 后端 | Java 11开发语言、SpringCloud微服务、nacos-server-2.1.2服务注册与发现、Redis缓存 | Intellij IDEA | |
| 小程序 | Taro小程序跨端跨框架 | VS Code、微信开发者工具、小程序开发工具 | |
| 数据库 | MySQL数据存储 | Navicat | |
## 数据库设计
> 微服务:一个服务对应一个数据库,同一个信息可能存在不同的数据库
用户表
人员进出日志表(按月归档)
体温上报表(按日归档)
## 启动项目
### Step1. 启动项目后端
#### 1.启动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**
#### 2.启动MySQL
#### 3.启动各个微服务
```
# 启动 UserProvider
# 启动
```
### Step2. 启动项目前端
#### 1.启动后台管理员项目
代码克隆下来后,第一次需要安装依赖
```bash
cd ./frontend
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm可以通过 npm i cnpm进行安装
cnpm install
# npm install --legacy-peer-deps
```
之后在 `frontend` 目录下运行即可
```bash
npm run serve
```
#### 2.小程序打包
待更新
## 开发步骤记录
### 前端
#### 初始化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
### 小程序端
#### 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