• Stars
    star
    539
  • Rank 82,402 (Top 2 %)
  • Language
    JavaScript
  • Created almost 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

全国新型冠状病毒,肺炎疫情实时省市地图

新型冠状病毒疫情实时动态省市地图

武汉加油,众志成城,共抗疫情

最近所有人的注意力都集中在武汉的疫情上,在 丁香园肺炎疫情实时动态 中提供了疫情地图及实时权威新闻,但其中并没有省市地图。

我在每天闭门不出为国家做贡献的同时,对疫情地图做了简单的扩展,能够显示某个省的疫情以及消息播报,旨在帮助大家更加直观了解自己家乡的情况。最后提醒大家尽量不出门,出门后必戴口罩。

Todo

目前打包后加载总体积 gzip 后小于 300KB,每次自动部署时间平均在一分半左右

  • 需求,使用脚本自动拉取丁香园的最新数据
  • 部署,添加 CICD,每半个小时部署一次 (github actions)
  • 优化,配置 cdn/https/http2,优化网站加载速度
  • 需求,添加省级地图
  • 优化部署策略,避免白屏问题
  • 添加信息汇总
  • 优化打包策略,对首屏地图组件进行按需加载,加速首屏速度
  • 运营,对省级信息生成独立路由,便于分享及传播
  • Bugfix,修复中国各省市地级市简称与全称对应关系,如恩施,阿坝,西双版纳等
  • Bugfix,修复湖北天门,潜江,仙桃为县级市的问题
  • Bugfix,修复西藏,重庆多拼音问题
  • Bugfix,修复客户端路由不匹配首页路径时的404行为,在微信浏览器中可能会遇到问题 (使用 alicdn rewrite 解决)
  • Bugfix,解决 swr 带来的 Request Queue 时间过长的问题
  • 需求,添加实时播报以及省级的实时播报
  • 优化打包策略,由于丁香园数据常变,对丁香园数据抽离打包,强化永久缓存并加速部署时间
  • 优化,添加 webpack bundle analyze
  • 优化打包策略,对 echarts 各组件进行按需加载 (目前 gzip 后总体积不超过 200KB)
  • 优化打包粗略,对 echarts 中省级地图数据进行按需加载
  • 优化,压缩首图,优化网站加载速度
  • 优化部署策略,对 OSS 上静态资源增量(以前是全量)配置永久缓存,加速部署时间
  • 优化部署策略,对 OSS 上静态资源增量传输(类似 rsync),加速部署时间
  • 优化部署策略,重复利用 npm cache,加快 npm install 速度
  • 优化部署/打包策略,加快 npm run build 速度
  • 运营,分享时生成图片,利于分享及传播
  • 运营,添加微信分享的 API

快速开始

# 获取数据
$ node scripts/build-origin.js

$ npm start

部署

使用 github actionsalioss 自动部署,使用 github actions 的定时任务每半个小时部署一次(为了获取最新数据)。

关于部署可以参考以下两篇文章

数据来源

数据爬自丁香园,使用脚本 build-origin.js 获取数据。数据每半个小时爬取一次,直接注入到前端,因此对丁香园造成的压力很小。

另外,如果你需要更详细的数据,可以参考项目 BlankerL/DXY-2019-nCoV-Crawler

截图

More Repositories

1

Daily-Question

互联网大厂内推及大厂面经整理,并且每天一道面试题推送。每天五分钟,半年大厂中
Vue
4,360
star
2

blog

在这里写一些工作中遇到的前端,后端以及运维的问题
JavaScript
1,584
star
3

fp-jargon-zh

函数式编程术语及示例。本项目译自 https://github.com/hemanth/functional-programming-jargon
1,222
star
4

op-note

该仓库已迁移至我的博客 https://github.com/shfshanyue/blog/tree/master/op
804
star
5

wechat-chatgpt

基于 ChatGPT/MidJourney 的 AI 助手微信机器人,支持个人微信与企业微信,支持客服模式并实时更新
TypeScript
505
star
6

mini-code

流行框架与库的源码分析与最小实现
JavaScript
392
star
7

learn-k8s

k8s实践指南
Shell
106
star
8

node-examples

学习 node.js 最好的示例代码
JavaScript
91
star
9

wechat-bot

一个微信机器人的脚手架
TypeScript
83
star
10

shici

使用 next.js 与 graphql 做一个诗词小站
TypeScript
80
star
11

chatdocs

基于 GPT4 & LangChain,并适用于 PDF/Markdown/Docx/Txt 等任意文件格式的智能知识库 AI 机器人
TypeScript
77
star
12

china-region

根据国家标准《中华人民共和国行政区划代码》即 GB2260 标准制定,用以查看各个省地县的行政区划代码,并支持多级联动查询
TypeScript
76
star
13

cheat-sheets

CSS
65
star
14

tmux-config

my config of tmux, with solarized color theme
63
star
15

feishu-chatgpt

三分钟,将 ChatGPT 飞书机器人、钉钉机器人、企业微信机器人、公众号部署到 vercel 及 docker 等,并同时支持多个应用,可一次性添加多个机器人。
TypeScript
59
star
16

vim-config

Vim for FE
Vim Script
55
star
17

apollo-server-starter

使用 apollo-server 做一个脚手架
TypeScript
54
star
18

markdown-read

Read markdown from URL
TypeScript
47
star
19

simple-deploy

Dockerfile
42
star
20

cra-deploy

JavaScript
36
star
21

tiankui

使用python flask搭建在leancloud上的个人网站,主要用来贴吧自动签到,自动收集帖子。
HTML
28
star
22

tieba_post

python模拟百度贴吧登陆,发帖
Python
27
star
23

ansible-op

山月的服务器配置 ansible 脚本
27
star
24

midash

An alternative to lodash with the same API.
TypeScript
26
star
25

wechat

黑客增长: 从博客引流到公众号
JavaScript
21
star
26

graph

awesome-graph
20
star
27

you-dont-need-vps

有可能你并不需要云服务器
19
star
28

httpstatus

MDX
16
star
29

we-api

微信公众号 API 封装,并且支持 Typescript,并且上传素材自动替换为微信内域名
TypeScript
14
star
30

next-app

Next App Starter
TypeScript
14
star
31

interview-api

关于面试每日一题的 graphql api server
TypeScript
12
star
32

md-to-html-api

API convert markdown to beautiful html.
JavaScript
10
star
33

notebook

网页版记事本,使用vue.js
JavaScript
9
star
34

vercel-api

TypeScript
9
star
35

compose

Dockerfile
8
star
36

graphql-sequelize-starter

JavaScript
8
star
37

promise-utils

Useful utils about promise. (map, filter, retry, sleep
TypeScript
8
star
38

react-rubic

JavaScript
7
star
39

graphql-guide

使用 GraphQL 构建 web 应用
7
star
40

serverless-template-zh

中国云厂商 serverless framework 模板及示例 (更快的访问速度)
TypeScript
7
star
41

diary2

使用requests+bs4做爬虫收集贴吧帖子,在leancloud上使用cron设置定时任务,每天凌晨两点进行更新。爬虫在tiankui项目。
Vue
7
star
42

markdown-theme

Markdown Themes
CSS
5
star
43

cls-session

a cls session impletation using async_hooks
TypeScript
5
star
44

vue-slide

使用vue制作幻灯片应用
HTML
4
star
45

whoami

Tiny node.js webserver that prints os information and HTTP request to output
JavaScript
4
star
46

biweekly

两周做一个项目,或学习一门新技术,或对所学技术系统整理和输出
4
star
47

openai-proxy

openai proxy with vercel、cloudflare、nginx、docker、traefik
TypeScript
3
star
48

Daily-Question-Next

TypeScript
3
star
49

serverless-http

Serverless Http Component for Tencent Cloud
JavaScript
2
star
50

tomato

http://shfshanyue.github.io/tomato/www/
Vue
2
star
51

micro

TypeScript
2
star
52

Grid-Guide-Chinese

[译] Grid 布局完全指南
HTML
2
star
53

react-apollo-starter

JavaScript
2
star
54

plant

JavaScript
2
star
55

resume-docs

如何更好地写简历
MDX
2
star
56

poem

Python
1
star
57

spider

定时备份网页
Python
1
star
58

interview-weapp

TypeScript
1
star
59

shici-weapp

JavaScript
1
star
60

nest-app

TypeScript
1
star
61

assets

个人图床
1
star
62

china-geojson

中国高精度 GeoJSON
JavaScript
1
star
63

http

1
star
64

rubic

一个使用 React 做的魔方
TypeScript
1
star
65

less-circle-menu

使用less做的径向菜单
CSS
1
star