/health-dashboard

A dashboard for visualization of personal health data

Primary LanguageJavaScript

health-dashboard

A dashboard for visualization of personal health data.

health-dashboard

Supports:

  • metrics for quantitative measurements. You can use metrics for anything you want, like blood tests, mood tracking, poop tracking, water consumption, urine tests, whathever you would like to visualize.
  • annotations for medical history (medicines, treatments, surgeries etc)

project components

This project consists of:

  • a Grafana instance, to visualize your metrics data
  • an HTTP API that will serve your data to Grafana and will configure itself as a datasource for Grafana, and will create your dashboards from your dashboard data
  • your data (in a separate repository that is cloned inside this one) as JSON and/or JavaScript files
  • configs to glue everything together

how to use it

This requires docker-compose installed.

git clone git@github.com:rafaeleyng/health-dashboard.git && cd health-dashboard

# create your data repository and clone it instead of the example repo bellow
git clone git@github.com:rafaeleyng/health-dashboard-example-data.git data

make start
# open http://localhost:3000

Click on "Home" at the top to find the created dashboard(s):

image

This dashboard is meant to run locally only (because it is not properly secured). Do not deploy it at any public address.

To stop your instance, run:

make stop

You can also run it in watch mode while creating your personal data repository, so you can see new data added on your data files just by refreshing the Grafana queries:

make watch

your medical data

By default, health-dashboard runs with dummy data from an example repository.

As stated in the previous section, your should create your own (private!) repository to keep your medical data and clone it as the data folder inside the health-dashboard project.

Refer to https://github.com/rafaeleyng/health-dashboard-example-data as a guideline of how your data repository should look like.

environment variables

You can create a .env file at the root of this project containing the variables:

API_TZ=America/Sao_Paulo # [optional, default is GMT] the timezone you are expressing your metric dates in
GIT_SYNC_USERNAME=<your username>
GIT_SYNC_PASSWORD=<a personal access token>
GIT_SYNC_REPO=<your health data repo>