Git Product home page Git Product logo

build-your-own-radar's Introduction

Build Status

A library that generates an interactive radar, inspired by thoughtworks.com/radar/.

How To Use

The easiest way to use the app out of the box is to provide a public Google Sheet ID from which all the data will be fetched. You can enter that ID into the input field on the first page of the application, and your radar will be generated. The data must conform to the format below for the radar to be generated correctly.

Setting up your data

You need to make your data public in a form we can digest.

Create a Google Sheet. Give it at least the below column headers, and put in the content that you want:

name 		ring	quadrant                isNew	description
Composer		adopt	tools					        TRUE	Although the idea of dependency management ...
Canary builds	trial	techniques				        FALSE	Many projects have external code dependencies ...
Apache Kylin	assess	platforms				        TRUE	Apache Kylin is an open source analytics solution ...
JSF		hold	languages & frameworks  FALSE	We continue to see teams run into trouble using JSF ...

In Google Docs, go up to the File menu and pick Publish to the web, then click Start publishing. A URL will appear, something like https://docs.google.com/spreadsheets/d/1--_uLSNfiD19i8rAcF_f3qlgZGk2lzSS3bbSrypcx4Y/pubhtml.

Copy that! In theory you're interested only in the part between /d/ and /pubhtml but you can use the whole URL if you want.

Paste the URL in the input field on the main page.

That's it!

Note: the quadrants of the radar, and the order of the rings inside the radar will be drawn in the order they appear in your Google Sheet.

More complex usage

The application is using webpack to package dependencies and minify all .js and .scss files.

To create the data representation, you can use the Google Sheet data factory, or you can also insert all your data straight into the code.

The app uses Tabletop.js to fetch the data from a Google Sheet, so refer to their documentation for more advanced interaction.

The input from the Google Sheet is sanitized by whitelisting HTML tags with sanitize-html.

If you want to understand how it's wired and make it your own, check the file examples/index.html for general usage.

Contribute

All tasks are defined in package.json. Pull requests are welcome; please write tests whenever possible.

  • git clone [email protected]:thoughtworks/build-your-own-radar.git
  • npm install
  • npm test - to run your tests
  • npm run dev - to run application in localhost:8080. This will watch the .js and .css files and rebuild on file changes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.