/apibueno

Argentina Covid19 API (API para el seguimiento de la pandemia del coronavirus en Argentina consumible por aplicaciones)

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Argentina Covid19 API

Este proyecto fue hecho en el marco de Hacktic, una Hackaton dónde participan múltiples cooperativas de Facttic y esta basado en Coronavirus Tracker API

Contributor Covenant License

Objetivos

  • Disponibilizar datos del COVID-19 de cada provincia de Argentina, para que sea consumible por aplicaciones y cualquier persona que quiera usar los datos los pueda consultar, sabiendo que provienen solo de comunicaciones oficiales y que se actualizan todos los días. Hoy en dia existen varias de estas APIs a nivel internacional pero no contienen informacion a nivel local (solo discriminan a Argentina a nivel pais).
  • Tiene que estar documentada con Swagger para que sea consultable y "descubrible"

Datos iniciales y carga manual

Los datos hasta el 15 de Abril fueron recopilados manualmente. El procedimiento y fuentes de informacion estan detallados en este documento.

API

Esta hecha en python con FastApi

Todos los endpoints estan documentados y son accesible vía https:

Podes usar el browser o por ejemplo hacer uso de curl en tu terminal: curl https://apibueno.herokuapp.com/v2/locations

OpenAPI

La definción json de OpenAPI la podes bajar de https://apibueno.herokuapp.com/openapi.json

Instalación

  • git clone https://github.com/facttic/apibueno.git
  • cd apibueno
  1. Tenes que tener python3.8 instalado en el PATH.
  2. Instala pipenv como manejador de dependencias
  3. Crea un ambiente virtual y instalar todas las dependencies $ pipenv sync --dev
  4. Entrar al ambiente virtual $ pipenv shell

Levantar entorno de Desarrollo

Correr Tests

pytest

pipenv run test

Linting

pylint

pipenv run lint

Formateo

black

pipenv run fmt

Schedule

Schedule scraping cada 24 horas

pipenv run schedule

Scraping

Scrapea wikipedia y agregar al CSV

pipenv run scraping

Scraping

Crea un nuevo archivo y con los 3 csv juntos (para simplificar importarlo para un motor de DB). El resultado se guarda en app/data/time_series_export.csv *pipenv install --dev (requererido)

pipenv run export

Actualiza los archivos requirement

invoke generate-reqs

Pipfile.lock se actualiza automaticamente cuando haces pipenv install.

Licencia

Ver LICENSE.md para la licencia