Skip to content

The SpringBoot framework is used to construct the linebot, and jsou is used for web crawling. The overall project design model is implemented using the "strategy pattern".

License

Notifications You must be signed in to change notification settings

chrisluo5311/LineBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LineBot chatbot & Covid 19 epidemic information crawler

🔧 Technologies & Tools


 Project Introduction:

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.


 Table of Contents:

Software version:

Software version
SpringBoot 2.4.5
JDK 11.0.10
Redis 5.0.10
postgresql 42.2.19

Scheduled task description

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

Content Descriptions

  1. 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"
  1. 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
  1. Strategy pattern: according to different functions of the directory, different categories are called for processing.

Testing instructions

  1. ngrok download

  2. docker image

rabbitmq

docker pull rabbitmq:management

Data source

  1. 衛福部疾管署
  2. 全球疫情地圖
  3. 疫苗接種統計圖
  4. Infogram_疫苗累計施打人數統計圖&各縣市覆蓋率
  5. CDC疫苗統計資料pdf
  6. 健保特約機構口罩剩餘數量明細 or 口罩即時查(With latitude and longitude)
  7. 台灣電子地圖服務網
  8. LINE Messaging API SDK for Java
  9. Messaging API reference

About

The SpringBoot framework is used to construct the linebot, and jsou is used for web crawling. The overall project design model is implemented using the "strategy pattern".

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages