Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/enflujo/colev-api
:rose: Aplicaciones de narrativa digital y visualización de datos sobre COVID-19 en Colombia.
https://github.com/enflujo/colev-api
colombia coronovirus inteligencia-artificial visualizacion-de-datos
Last synced: 16 days ago
JSON representation
:rose: Aplicaciones de narrativa digital y visualización de datos sobre COVID-19 en Colombia.
- Host: GitHub
- URL: https://github.com/enflujo/colev-api
- Owner: enflujo
- Created: 2021-06-30T14:06:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-01T19:54:29.000Z (about 2 months ago)
- Last Synced: 2024-11-01T20:26:06.000Z (about 2 months ago)
- Topics: colombia, coronovirus, inteligencia-artificial, visualizacion-de-datos
- Language: TypeScript
- Homepage: https://colev.enflujo.com/
- Size: 117 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Colev API
![Estilo Código](https://github.com/enflujo/colev-api/actions/workflows/estilo-codigo.yml/badge.svg)
![Despliegue](https://github.com/enflujo/colev-api/actions/workflows/despliegue.yml/badge.svg)
![Tamaño](https://img.shields.io/github/repo-size/enflujo/colev-api?color=%235757f7&label=Tama%C3%B1o%20repo&logo=open-access&logoColor=white)
![Licencia](https://img.shields.io/github/license/enflujo/colev-api?label=Licencia&logo=open-source-initiative&logoColor=white)Aplicación para extraer, procesar y administrar los datos sobre Covid-19 en Colombia para las diferentes aplicaciones de investigación en el grupo [Colev](https://colev.uniandes.edu.co/) de la Universidad de los Andes.
## Aplicaciones
- Base de datos: Mongo
- Cache: Redis
- Api: NodeJS (Fastify)
- Sitio web: Vue### Contenedores de Docker
#### Desarrollo local
Para desarrollo local incluimos mongo-express (Ver `docker-compose.desarrollo.yml`).
Iniciar contenedores con:
```bash
docker compose -f docker-compose.desarrollo.yml up -d
```#### Producción (comando en servidor)
En modo de producción no se necesita mongo-express (Ver `docker-compose.yml`)
```bash
docker compose up -d
```### Proceso de validación
```mermaid
flowchart LR
A[Datos crudos de INS] --> NodeJS
NodeJS --> Validación
Validación --> Errata
Validación --> B[Datos validados MongoDB]
```## Instalación
```bash
yarn
```## Desarrollo local
### Crear Token
1. Ingresar o registrarse en el portal de datos abiertos de Colombia Tokens de App [https://www.datos.gov.co/profile/edit/developer_settings](https://www.datos.gov.co/profile/edit/developer_settings).
2. En la sección **"Tokens de App"**, seleccionar la opción **"Crear nueva aplicación"**.
3. Luego de llenar la información de la aplicación, copiar el token público que se encuentra en **"Autentificador de la aplicación"**
4. En los archivos locales, hacer una copia del archivo `.env.ejemplo` y llamarlo `.env`. Allí pegar el Token que acaba de copiar en la variable `TOKEN=`o crear el archivo `.env` directamente con la variable:
```bash
TOKEN=.....
```### Iniciar en modo de desarrollo
```bash
yarn dev
```### Rutas
Para acceder a las diferentes fuentes de datos, ver las rutas que se definen en el archivo `./servidor.js`. Cada ruta comienza con `servidor.get('/' ...`.
Por ejemplo, en `servidor.js` esta la siguiente ruta que se puede acceder desde [localhost:3000/descriptores](http://localhost:3000/descriptores):
```js
servidor.get('/descriptores', async (request, reply) => {
const descriptores = await readFile('./datos/descriptores.json');return JSON.parse(descriptores);
});
```Revisar 1 caso por id: https://www.datos.gov.co/resource/gt2j-8ykr.json?id_de_caso=5666290
### Agregar paquetes a las aplicaciones
Este repositorio contiene varias aplicaciones usando _Yarn Worspaces_. Para instalar paquetes de NPM se debe dirigir a la aplicación que le corresponde. Por ejemplo:
Este comando...
```bash
yarn add ...
```Se vuelve esto para instalar un paquete a la aplicación llamada `servidor`
```bash
yarn workspace servidor add ...
```Y este para la aplicación `sitio`
```bash
yarn workspace sitio add ...
```- paleta de color
- hover mostrar tiempo
- mostrar porcentaje o valor que le da el tamaño a las palabrasPara definir la cantidad de entradas por página en el extractor de datos de INS se puede pasar la variable ambiente `CANTIDAD`
```bash
CANTIDAD=500 yarn ins
```También se puede definir la página de inicio con variable `PAGINA`
```bash
CANTIDAD=500 PAGINA=230 yarn ins
```