WorldHealthOrganization / world-health-org-metrics

Home Page:https://worldhealthorganization.github.io/world-health-org-metrics/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

World Health Org Metrics Project

Problem Statement

The World Health Organization leads global efforts to expand universal health coverage. They direct and coordinate the world’s response to health emergencies however there is currently no integrated digital environment for public health experts from all around the globe to collaborate on pandemic and epidemic intelligence and ongoing public health emergency events. The World Health Organization is exploring how to easily collaborate with external experts around the world to work on public health issues like COVID-19.

Goal

Monitor open source health across different projects to have a high level view the best practices adopted by various open source projects to help build interest in open source work and advocate for more open source development

Issue Project here

Configuration

There is a config.yml located in the root of the project that contains the configuration for the project. The configuration is as follows:

---
# The GitHub organization name
organization: 'YOUR_ORG_NAME'
# An ISO 8601 date string representing the date to start fetching data from
since: '2024-02-22'

This modifies the behavior of the fetcher to fetch data from the specified organization and since the specified date.

Development

This project is split into two parts:

  • app: the code for the frontend
  • backend: the code for the backend and fetcher

Both are written in TypeScript. We use npm workspaces to manage the dependencies between the two projects.

Prerequisites

  • Node.js 20.X or later
  • npm

Environment Variables

You will need a .env file in the root of the project:

cp .env.example .env

The GRAPHQL_TOKEN token requires the following scopes:

  • read:org
  • read:repo
  • read:project

Note

To fetch collaborator counts, you need to provide a token that is an admin of the organization.

Installation

npm i

Running the monorepo

This will kick off both the fetcher and the app.

npm run dev

Running each part separately

If you wish to run the backend only:

npm run dev:backend

If you wish to run the app only:

Note that you need to provide a valid data.json file in the app/src/data directory in order to render the app.

npm run dev:app

About

https://worldhealthorganization.github.io/world-health-org-metrics/

License:MIT License


Languages

Language:TypeScript 80.4%Language:JavaScript 19.2%Language:CSS 0.3%Language:Dockerfile 0.1%