GithubHelp home page GithubHelp logo

k1m0ch1 / covid-19-api Goto Github PK

View Code? Open in Web Editor NEW
51.0 4.0 18.0 209 KB

๐Ÿฐ Simple and ๐Ÿฆ… fast covid-19 api global data parser using Flask, data gathered from Novel Coronavirus (COVID-19) Cases, provided by JHU CSSE

License: MIT License

Python 82.43% Dockerfile 2.03% Go 10.71% TSQL 4.83%
flask python python3 covid-19 covid19 coronavirus api corona virus webapp coronavirus-tracker bot-whatsapp bot whatsapp robot golang docker hacktoberfest

covid-19-api's Introduction

Coronavirus Disease 19 API Tracker

GitHub code size in bytes GitHub repo size GitHub last commit GitHub stars GitHub pull requests GitHub forks GitHub issues GitHub watchers Twitter

This is just a simple API tracker for covid-19 latest information for recovered, confirmed and deaths cases. The main purpose of this repo is for bot announcement to whatsapp, telegram and discord about latest cases of covid-19.

you can try the api here https://covid19-api.yggdrasil.id/ Website thanks for @habibiefaried for helping the server or Deploy

Bot Whatsapp

(WARNING: This is only available with Bahasa Language, need some help for translation) This bot is for covid-19 information purpose by automatically answer for available data, by using !covid <command>, here is the available command :

  1. status This will return information about current global case, example output
Confirmed: xx
Deaths: xx
Recovered: xx
  1. id This will return information about current indonesia corona case, example output
Terkonfirmasi: xx
Meninggal: xx
Sembuh: xx
Dalam Perawatan: xx

Update Terakhir:
2020-03-17T07:01:01+00:00
  1. id info This will return basic information about corona in indonesia
  2. ping The bot will response "pong"
  3. halo, hello, help The introduction and list of available command

Requirement

Docker

Installation

run this command

docker run --restart on-failure --name gobot-covid k1m0ch1/gobot-covid

The QR Code will be available in terminal for more less than 10 second, if timeout you need to run the first command again after the QR Code is succesfully scanned I prefer to run the container in the background by stop the container first with Ctrl+C and then run the container again with command docker start gobot-covid

For advance usage

  • Session store This feature will enable to store the session for the later use, by adding the argument as the file name for sesion for example
docker run --restart on-failure --name gobot-covid k1m0ch1/gobot-covid MyPhoneNumber

the file MyPhoneNumber.go will be stored at ./session folder

the folder session in the container at path /go/src/github.com/k1m0ch1/covid-19-api/session so you can use -v parameter to put the session file in the localhost

here is the complete parameter

docker run -v ~/session:/go/src/github.com/k1m0ch1/covid-19-api/session x--restart on-failure --name gobot-covid k1m0ch1/gobot-covid MyPhoneNumber

Endpoint

Get latest information about confirmed, deaths and recovered

GET /
{"Confirmed":167447,"Deaths":6440,"Recovered":76034}

Get each countries confirmed, deaths, and recovered cases

GET /confirmed
[
    ...,
    {
        "confirmed": 14991,
        "countryRegion": "Iran",
        "lastUpdate": "2020-03-16T14:38:45",
        "latitude": "32.4279",
        "longitude": "53.6880",
        "provinceState": null
    }
    ...,
]

same as result with endpoint GET /deaths and GET /recovered

Get latest information about all country cases status

GET /all
[
    ...,
    {
        "Confirmed": xx,
        "CountryRegion": "CountryName",
        "Deaths": xx,
        "LastUpdate": <timestamp iso 8601 format>,
        "Latitude": "xx.x",
        "Longitude": "-xx.x",
        "ProvinceState": "State" or null,
        "Recovered": xx
    },
    ...
]

List of available countries

GET /countries

List of available countries detail cases

GET /countries/<alpha2-country-code>
GET /countries/us
[
    ...,
    {
        "confirmed": 557,
        "countryRegion": "US",
        "deaths": 7,
        "lastUpdate": "2020-03-16T23:53:03",
        "latitude": "36.1162",
        "longitude": "-119.6816",
        "provinceState": "California",
        "recovered": 6
    },
    ...,
    {
        "summary": {
            "confirmed": 4632,
            "deaths": 85,
            "recovered": 17
        }
    }
    ...,
]

if the country only have a single data, the summary data will not exist

List of available news

GET /news

get the latest top headlines about corona virus, the news is get from NewsAPI.org see there for available news

List of available news in specific countries

GET /news/<alpha2-country-code>

get the latest top headlines about corona virus in specific countries, the news is get from NewsAPI.org see there for available news

Docker

You can use docker by pull

docker run --name covid-19-api -p 5001:5001 -d docker.pkg.github.com/k1m0ch1/covid-19-api/covid-19-api:latest run

or

docker run --name covid-19-api -p 5000:5000 -d docker.pkg.github.com/k1m0ch1/covid-19-api/covid-19-api:latest run_web_prod

Development

This repo is still on development and feel free to contribute.

Requirement

  1. Python 3.7
  2. pipenv/ pip
  3. venv/ virtualenv

Running on development

pipenv run python manage.py run

Running on production

pipenv run python manage.py run_web_prod
or
gunicorn --config python:src.gunicorn_cfg src.wsgi:app

Next to do :

  • deploy to server for public use deployed to https://covid19-api.yggdrasil.id/ Thanks @habibiefaried
  • add new endpoint for each countries referrence from @mathdroid
  • add new endoint /confirmed /deaths and /recovered
  • bot discord
  • bot whatsapp
  • bot telegram
  • news crawler from reliable resource

Bot Whatsapp to do :

Referrence

covid-19-api's People

Contributors

danztensai avatar hightechsec avatar k1m0ch1 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

covid-19-api's Issues

error pas pull

ane masih newbie yg baru nyoba docker. kenapa pas di pull error
Unable to find image 'docker.pkg.github.com/k1m0ch1/covid-19-api/covid-19-api:latest' locally docker: Error response from daemon: Get https://docker.pkg.github.com/v2/k1m0ch1/covid-19-api/covid-19-api/manifests/latest: no basic auth credentials. See 'docker run --help'.

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.