The Ghana in Data project is an open source initiative to creatively present data about Ghana with a focus on Sustainable Development Goals.
We are a community of data enthusiasts, developers, designers, researchers, journalists, policymakers, and citizens who are passionate about data and its potential to drive positive change in Ghana.
The project is inspired by the Our World In Data project and the Ghana Open Data Initiative.
Contributing
The project is currently in its early stages and we are looking for contributors to help us build the platform. If you are interested in contributing, please read our Contributing Guidelines.
Current Repo Structure
The repo we use at Ghana In Data to create and publish embeddable, interactive visualizations like this one:
Disclaimer
This repo is currently in its early stages and it's not well-designed for reuse as a visualization library, nor for reproducing the full production environment. We are working to make our tools less tightly coupled with our database structure. You are very welcome to make contributions to help us make this project better!
Getting Started
To quickly get a version of the site running for developing Grapher features, we recommend following the local development setup guide.
Additional setup options are also available for other use cases.
Overview
Multiple projects are maintained in this repo:
- Grapher: A client-side interactive data visualization library used by almost every chart on Our World in Data.
- Explorer: A Grapher-based tool that creates more complex data visualization user interfaces.
- Grapher Admin: A client-side project that provides a user interface for configuring graphers, explorers, and managing and uploading data.
- Baker: A PM2 project that builds a static copy of the Our World in Data website by merging content authored in Gdocs with the grapher charts.
- Site: The React code for rendering our content in pages, used by the Grapher Admin and Baker.
Tooling
Much of our code is based around reactive programming using React and Mobx.
All code is written in TypeScript. If you want to enable pre-commit hooks, run `yarn husky`.
Visual Studio Code is recommended for autocompletion and other awesome editor analysis features enabled by static typing.
Why are we choosing to build on the original OWID project?
When the idea came to build a data visualization tool for the Ghana in Data project, we had to decide whether to build a new tool from scratch or to build on an existing tool. We decided to build on the original Our World in Data project for the following reasons:
The OWID-Grapher solves this problem by using a single visualization codebase and a single database into which all of our data is placed. Once the data has been imported, creating a visualization is reduced to choosing the visualization type and selecting the relevant variables in the Grapher user interface. The result can then be customized and published to the web with the press of a button.
Building on OWID's work has very important advantages:
- Integration with our global development database: The database of global development metrics can be integrated into the visualization tool so that when we add and update empirical data, all visualizations are updated.
- Flexibility: Automation allows us to change our entire system at once, making it possible to scale our publication and sustainably improve our work without starting from scratch each round.
- Risk mitigation: We want our visualizations to remain useful and available years from now. An external web service may be shut down or change for reasons we cannot control, a risk we've learned from experience.
- Keeping everything up-to-date: With our global development database integrated into the Grapher, we can easily update all visualizations whenever new data becomes available.