node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Choose a random film from excellent graph. Also, crudely tells you if you can find the film on netflix, hulu, amazon, or itunes. Gives you a direct url.


var goodfilmsGraph  = require('goodfilms-graph');
goodfilmsGraph.random({}, function(err, film) {
  if (err) { return console.error(err); }

Optionally, pass a filter argument of {x: 4, y: 4}. This will only select from films that have a rating higher than or equal to a 4 on both the x axis and y axis. The x axis is star rating and the y axis is 'rewatchable' rating.

var goodfilmsGraph  = require('goodfilms-graph');
goodfilmsGraph.random({x: 4, y: 4}, function(err, film) {
  if (err) { return console.error(err); }

The outputted film object generally looks like this.

  image: '',
  title: 'What\'s Eating Gilbert Grape',
  year: 1993,
  id: 60302,
  x: 4.237359687181692,
  y: 3.1091803168081897,
  radius: 5.484796933490655,
  url: '/film/60302-what-s-eating-gilbert-grape',
  netflix_url: '',
  itunes_url: null,
  amazon_url: null,
  hulu_url: null 


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Running tests

npm test