Code Monkey home page Code Monkey logo

covid19's People

Contributors

xsreality avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

covid19's Issues

Allow multiple preferred states

Disable updates of all states for subscribers with no preferred states and allow up to 3 preferred states per subscriber.

Allow user to receive alerts for their chosen state only

  • Add a new bot command to set a "preferred" or "my" state.
  • Store the user and their state choice in Kafka topic.
  • When generating alerts, send only relevant alert for chosen state.
  • Alert can include total numbers pan India
  • Summary alert for all states should go to everyone.

Alter total tested numbers as per ICMR data

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.

Use Telegram inline keyboard for improved UI experience

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.

Improve alerting mechanism

Currently, all alerts are sent by looping through list of subscribers in a consumer poll loop and firing alerts if

  1. User subscription is active.
  2. User's preferred state matches the update or...
  3. User has no preferred state

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.

Adding nice graphs and charts

Investigate the possibility of generating graphs and charts on the fly and returning as response to Telegram commands.

Use the new raw_data3.json API

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

Add doubling rate statistics in Telegram Updates

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).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.