Skip to content

googleinterns/guide-doge

Repository files navigation

Project Guide-Doge

GitHub Actions Badge for 'build-and-lint' GitHub Actions Badge for 'deploy' GitHub Actions Badge for 'test'

Table of Contents

Overview

WHO (World Health Organization) estimates that at least 2.2 billion people have a visual impairment or blindness. While HTML5 comes with various features to improve screen-reader accessibility, most of the data visualization still doesn't provide much insight into data to visually impaired or blind users.

In an attempt to improve accessibility to data visualization, a number of experiments will be done in this project to explore improvements to data consumption for visually impaired or blind users.

Experiments

Contributing

Prerequisites

  • Node.js (Suggest using nvm)
$ cd guide-doge
$ npm install

Running Locally

$ npm start

Server running at http://localhost:4200

Testing

$ npm test

It will run all the tests in *.spec.ts files and create a test coverage report under coverage/guide-doge.

Other Notes

  • Check out the planning document at go/guide-doge-planning-doc. (Currently only available to Googlers.)
  • We use GitHub Projects to manage tasks.
  • We set up CI/CD using GitHub Actions. We currently have the following pipelines:
    • Upon a pull request:
      • Building the project.
      • Running the lint check.
      • Running tests.
      • Checking the test coverage %. (Thresholds defined in karma.conf.js.)
    • Upon a push to the master branch:
  • Core logics should be non-Angular dependent.
  • Wrapper components should be lightweight.
    • E.g., line-chart.component.ts is a wrapper component for line-chart.d3.ts, and all it does is to call D3 instance methods along the component lifecycle and to provide simple getters/setters for its template.