xsreality / covid19 Goto Github PK
View Code? Open in Web Editor NEWCovid19 India Patients Analyzer and Telegram Bot
License: GNU General Public License v3.0
Covid19 India Patients Analyzer and Telegram Bot
License: GNU General Public License v3.0
Command: /today
Return: Today's increase of all Indian states.
Import data from https://api.covid19india.org/state_test_data.json into a Kafka compact topic.
Key: StateAndDate
Value: StatewiseTest
With #15 users can choose to get updates of their preferred state only. The individual patient updates are still sent to everybody. Instead it should only be sent to people who have set a preferred state.
Based on feedback received for regular keyboard based input, it is not intuitive and causes confusion as the keyboard remains active even after selection is completed.
Inline keyboard will provide much better user experience.
News sources are available in patient-data topic. Need to clean that information and attach relevant sources with the alerts sent for specific state.
Import v2 district data by state. When user requests the data for any state using /stats
command, include the district counts as well.
Doubling rate is a useful statistic that is easy to interpret by most people. It can be calculated by dividing the confirmed cases by Total cases every day to get the growth %. Dividing that number by 70 should give us the doubling rate (in days).
Similar to /stats --> Summary
Visualization related code can be taken out of telegram bot app to avoid restarting the whole thing when making changes like adding new charts.
The below link is not working available in the Readme file.
Last few days, ICMR is releasing only "total samples tested" instead of "total individuals test" and other metrics like "total positive cases" etc.
Current logic is based on "total individuals test" which is resulting in no updates. Change this to "total samples tested" instead.
Investigate the possibility of generating graphs and charts on the fly and returning as response to Telegram commands.
Add field 'Active cases' in all updates.
Active = Confirmed - recovered - death
Currently, all alerts are sent by looping through list of subscribers in a consumer poll loop and firing alerts if
As number of subscribers is growing quicker than anticipated, this flow is not scalable. Instead this can be done via Kafka streams by repartitioning and joining the subscribers topic with the alerts topic. The resulting stream can be stored in another topic which will be picked up by the bot to fire alerts.
The existing API raw_data.json is now deprecated. Below is the update:
Due to the growing size of the raw data, and the fact that regions like DL, MH, TG are only providing district level information, we have made a change in our data collection. Now, raw data is available in three parts : api.covid19india.org/raw_data1.json (Data till EoD Apr 19th)
api.covid19india.org/raw_data2.json (Data till EoD Apr 26th)
api.covid19india.org/raw_data3.json (Live ๐)Also, there are some structural difference in raw_data3.json : When a new report/bulletin is released from a state regarding confirmed cases :
If patient level information is available (from several states like KA,KL,BH etc.), that is captured.
If only districtwise information is available, one row is entered for each district, and "numcases" field mentions the number of cases in that district
If only statewise information is available, one row is added added for the entire state (DL ๐)
Recoveries and Deceased information is also available through raw_data3.json now. Use the "Current Status" field to extract that information.
All other aggergate APIs retain the same behaviour. CSV files for the same are also available through api.covid19india.org/csv/latest/raw_data{n}.csv
Disable updates of all states for subscribers with no preferred states and allow up to 3 preferred states per subscriber.
Any message with location will be forwared to Kafka topic and processed for Covid19 analysis.
Return charts in response to /today and /yesterday. The chart for /today should reflect the current numbers of the day. It should be updated every 15 min.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.