{"id":22463300,"url":"https://github.com/enflujo/colev-api","last_synced_at":"2025-03-27T14:24:15.959Z","repository":{"id":42020002,"uuid":"381723474","full_name":"enflujo/colev-api","owner":"enflujo","description":":rose: Aplicaciones de narrativa digital y visualización de datos sobre COVID-19 en Colombia.","archived":false,"fork":false,"pushed_at":"2024-11-07T21:42:13.000Z","size":122974,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T18:39:16.188Z","etag":null,"topics":["colombia","coronovirus","inteligencia-artificial","visualizacion-de-datos"],"latest_commit_sha":null,"homepage":"https://colev.enflujo.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enflujo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-30T14:06:49.000Z","updated_at":"2024-11-07T21:42:17.000Z","dependencies_parsed_at":"2025-02-01T18:43:25.848Z","dependency_job_id":null,"html_url":"https://github.com/enflujo/colev-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enflujo%2Fcolev-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enflujo%2Fcolev-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enflujo%2Fcolev-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enflujo%2Fcolev-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enflujo","download_url":"https://codeload.github.com/enflujo/colev-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245860070,"owners_count":20684274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["colombia","coronovirus","inteligencia-artificial","visualizacion-de-datos"],"created_at":"2024-12-06T09:12:44.805Z","updated_at":"2025-03-27T14:24:15.932Z","avatar_url":"https://github.com/enflujo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Colev API\n\n![Estilo Código](https://github.com/enflujo/colev-api/actions/workflows/estilo-codigo.yml/badge.svg)\n![Despliegue](https://github.com/enflujo/colev-api/actions/workflows/despliegue.yml/badge.svg)\n![Tamaño](https://img.shields.io/github/repo-size/enflujo/colev-api?color=%235757f7\u0026label=Tama%C3%B1o%20repo\u0026logo=open-access\u0026logoColor=white)\n![Licencia](https://img.shields.io/github/license/enflujo/colev-api?label=Licencia\u0026logo=open-source-initiative\u0026logoColor=white)\n\nAplicació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.\n\n## Aplicaciones\n\n- Base de datos: Mongo\n- Cache: Redis\n- Api: NodeJS (Fastify)\n- Sitio web: Vue\n\n### Contenedores de Docker\n\n#### Desarrollo local\n\nPara desarrollo local incluimos mongo-express (Ver `docker-compose.desarrollo.yml`).\n\nIniciar contenedores con:\n\n```bash\ndocker compose -f docker-compose.desarrollo.yml up -d\n```\n\n#### Producción (comando en servidor)\n\nEn modo de producción no se necesita mongo-express (Ver `docker-compose.yml`)\n\n```bash\ndocker compose up -d\n```\n\n### Proceso de validación\n\n```mermaid\nflowchart LR\n    A[Datos crudos de INS] --\u003e NodeJS\n    NodeJS --\u003e Validación\n    Validación --\u003e Errata\n    Validación --\u003e B[Datos validados MongoDB]\n```\n\n## Instalación\n\n```bash\nyarn\n```\n\n## Desarrollo local\n\n### Crear Token\n\n1. 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).\n2. En la sección **\"Tokens de App\"**, seleccionar la opción **\"Crear nueva aplicación\"**.\n3. Luego de llenar la información de la aplicación, copiar el token público que se encuentra en **\"Autentificador de la aplicación\"**\n4. 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=`\n\no crear el archivo `.env` directamente con la variable:\n\n```bash\nTOKEN=.....\n```\n\n### Iniciar en modo de desarrollo\n\n```bash\nyarn dev\n```\n\n### Rutas\n\nPara acceder a las diferentes fuentes de datos, ver las rutas que se definen en el archivo `./servidor.js`. Cada ruta comienza con `servidor.get('/' ...`.\n\nPor ejemplo, en `servidor.js` esta la siguiente ruta que se puede acceder desde [localhost:3000/descriptores](http://localhost:3000/descriptores):\n\n```js\nservidor.get('/descriptores', async (request, reply) =\u003e {\n  const descriptores = await readFile('./datos/descriptores.json');\n\n  return JSON.parse(descriptores);\n});\n```\n\nRevisar 1 caso por id: https://www.datos.gov.co/resource/gt2j-8ykr.json?id_de_caso=5666290\n\n### Agregar paquetes a las aplicaciones\n\nEste repositorio contiene varias aplicaciones usando _Yarn Worspaces_. Para instalar paquetes de NPM se debe dirigir a la aplicación que le corresponde. Por ejemplo:\n\nEste comando...\n\n```bash\nyarn add ...\n```\n\nSe vuelve esto para instalar un paquete a la aplicación llamada `servidor`\n\n```bash\n yarn workspace servidor add ...\n```\n\nY este para la aplicación `sitio`\n\n```bash\n yarn workspace sitio add ...\n```\n\n- paleta de color\n- hover mostrar tiempo\n- mostrar porcentaje o valor que le da el tamaño a las palabras\n\nPara definir la cantidad de entradas por página en el extractor de datos de INS se puede pasar la variable ambiente `CANTIDAD`\n\n```bash\nCANTIDAD=500 yarn ins\n```\n\nTambién se puede definir la página de inicio con variable `PAGINA`\n\n```bash\nCANTIDAD=500 PAGINA=230 yarn ins\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenflujo%2Fcolev-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenflujo%2Fcolev-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenflujo%2Fcolev-api/lists"}