Skip to content

mddub/beeminderjs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

beeminderjs

NodeJS wrapper for Beeminder API. Created for integration with Complice, a productivity app that's more qualified-self than quantified-self.

BeeminderJS is designed for use within NodeJS apps, although it also works in a very basic rudimentary way from command-line.

bitHound Score

Install to your node project

npm install --save beeminder

Usage as a library

var beeminder = require('beeminder');
var bm = beeminder(auth_token);

bm.getUser(function (err, result) {
  console.log(err || result);
  // do something
});

bm.getGoal('goalslug', function (err, result) {...})

bm.createGoal('goalslug', params, function (err, result) {...})

bm.getDatapoints('goalslug', function (err, result) {...})

bm.createDatapoint('goalslug', {
  value: 1, // {type: Number, required: true},
  timestamp: new Date("2015-02-21").valueOf() // {type: Number, default: now},
  comment: 'updated readme',
  sendmail: true, // if you want the user to be emailed
  // requestid allows you to run command again without creating duplicate datapoints
  requestid: 'thisHasToBeAlphanumericWhichIsWhyThereAreNoSpaces',
}, function (err, result) {...})

Install as a command-line tool

sudo npm install --global beeminder

bm # run this once to ensure you're authenticated

Usage as a command-line tool

bm user
bm status # outputs a list of goals sorted by derail time
bm goal <goalslug>
bm datapoints <goalslug>
bm createdatapoint <goalslug> <value> [<optional comment, in quotes if it has a space>]
bm cd # same as createdatapoint

Example

I have the following in .bash_aliases, which allows me to post a user-visible improvement simultaneously to beeminder (m/complice-uvi) and twitter (@compluvi). Requires the twitter bash client t, available here.

uvi () {
  bm cd complice-uvi 1 "$@"
  t update "$@"
}

# example
uvi "UVIs will be posted more frequently because I can now post them from command line :D"

todo

  • implement other endpoints (feel free to ask for them or to submit pull requests)

About

NodeJS wrapper for Beeminder API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%