The Community Dashboard is a full stack app for tracking and connecting the activities of the OHDSI community. The goal of the dashboard is help our community identify how members can see the OHDSI eco-system as an interconnected system to make a larger impact.
This repo contains multiple "projects" as yarn
workspaces:
- The
navigation
project implements the client side Community Dashboard components as an Angular component library. - The
plots
Python package implements core back end logic.- Serving of plotly generated visualizations.
- Service layer for the following API miners.
- Youtube Data API to search and track statistics on OHDSI videos
- PubMed Entrez API to identify and track publications
- Serpapi Wrapper for Google Scholar to pull citation statistics
- GitHub for parsing network study readmes.
- The
development
devcontainer template provides a consistent, prebuilt environment for developers described below. - The
rest
project provides a standard interface for all database operations. See: Production Considerations
This repo uses the Development Container spec. to define the dev environment. This has native support in VSCode, GitHub Codespace, and other tools, or you can use the spec as a reference to set up your local environment of choice.
Note for new developers: The commands below may publish their results via a web app. Your IDE may launch the browser window before the app has loaded. Simply refresh your browser window when the app has loaded. If you are having trouble, the process is described here for GitHub Codespaces.
yarn
is used to manage the rest of the development workflow:
yarn serve
yarn workspace @community-dashboard/plots start
- Database: For development purposes all projects use in-memory testing databases. For production deployment you will need to implement this rest interface via dependency injection.
- Scheduling: This open source project does not depend on any particular scheduler. In production you may wish to execute back end functions on some schedule or in response to some events which will require integration with your scheduler of choice.
We use the GitHub issue tracker for all bugs/issues/enhancements
Licensed under Apache License 2.ty