Due to the COVID-19 pandemic, this project crawls and parses data such as daily new confirmed cases, remaining mask information, QR code scanning, global epidemic statistics, and vaccine registration statistics, and provides this information to users. As people may not check the health department's platform every day for epidemic information, a LineBot is created using Line, the most frequently used social media platform in Taiwan, to conveniently provide users with epidemic information and ensure that the data is updated to the latest news, reducing information asymmetry between the government and the public.
| Software | version |
|---|---|
| SpringBoot | 2.4.5 |
| JDK | 11.0.10 |
| Redis | 5.0.10 |
| postgresql | 42.2.19 |
| Function | Explanation |
|---|---|
| Query the number of confirmed cases today | every 30 mins |
| Check the remaining number of masks in the pharmacy | every hour |
| Get pdf and get the cumulative number of visits for each vaccine | every 12 hours |
| Screenshot: Cumulative number of admissions & vaccine coverage rate chart for each tier | every hour |
| Obtain csv files of CDC in various countries | every 6 hours |
- Menu, status, techniques
| Function | status | Main techniques | Explanation |
|---|---|---|---|
| Query today cases |
Finished |
okhttp、jsoup | Parse the press release and extract the number of new confirmed cases, adjusted regression numbers, and deaths |
| where to buy mask |
Finished |
okhttp、jsoup | Send API request to 口罩即時查,and parse pharmacy information including latitude and longitude and send it to the user |
| Scan QRCode | Finished |
LineBot | Using the CameraAction provided by the LineBot Messaging API |
| Foreign situation | Finished |
okhttp、jsoup java util.zip(GZIPInputStream) |
Unzip the gzip file of the epidemic situation in each country, send the content to the rabbitmq queue, and analyze each field by country. |
| Vaccination Statistics Chart |
Finished |
okhttp、jsoup Selenium、apache pdfbox |
1. Go to (infogram title: Who has been vaccinated) to get the screenshot of the cumulative number of recipients 2. Go to the vaccination statistics chart of the global epidemic map to obtain the vaccine coverage rate chart for each tier 3. Analyze "Cumulative Number of People Vaccinated.pdf" |
- Maven
| Libraries | Version |
|---|---|
| okhttp | 3.14.9 |
| jsoup | 1.13.1 |
| Selenium | 3.141.59 |
| Redis | 5.0.10 |
| lombok | 1.18.20 |
| apache.pdfbox | 2.0.24 |
| spring-boot-starter-amqp | 2.4.5 |
- Strategy pattern: according to different functions of the directory, different categories are called for processing.
-
docker image
rabbitmq
docker pull rabbitmq:management
- 衛福部疾管署
- 全球疫情地圖
- 疫苗接種統計圖
- Infogram_疫苗累計施打人數統計圖&各縣市覆蓋率
- CDC疫苗統計資料pdf
- 健保特約機構口罩剩餘數量明細 or 口罩即時查(With latitude and longitude)
- 台灣電子地圖服務網
- LINE Messaging API SDK for Java
- Messaging API reference

