mimetnet / couch-time

Track time across computers so you don't have to do it later on the couch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

couch-time

An application for tracking time across numerous (coming soon) terminals. There are many utilities similar to this, but none that worked the way I wanted. Before picking one, I would suggest playing around with most if not all of them.

Usage

This project uses cli so all commands (first word following couch-time) will be auto-completed like npm.

Install

Not yet added to npm! But in the meantime you can use npm to insall from GIT or just checkout the code.

Configuration

Before you can begin tracking time you must setup couch-time. This is done by configuring a CouchDB database:

couch-time auth http://[user]:[passwd]@[couchdb.com]/[db_name]

Not all database require authentication, but if they do we use nano's auth() method, which supports CouchDB's cookie authentication.

Set the current tag/project

couch-time tag elephants

All projects begun after this command will belong to elephants. This can be overriden by using the --tag argument when beginning a project.

Start Tracking Time

couch-time begin --tag elephants All words from here on will be the message

couch-time begin Use previous tag

couch-time begin All "messages " will be joined together into a single string

couch-time begin

The last one will launch $EDITOR, enabling full control over the layout.

Update current work item

couch-time update

Update the message of your current work item by launching $EDITOR. Any changes you make will be saved locally and published when you end this work.

Stop Tracking Time

couch-time end

You can do this as many times as you want. It will just continue to push out the end date.

Destroy your current work

couch-time clear

This will erase, delete, clear, pick-your-favorite-word, your current entry. Current is defined by begin and not reset on end (though the later might change).

Replicate database (backup, relocate)

couch-time replicate [db-name | http://[user]:[passwd]@couchdb.com/db_name]

This calls nano's replicate() method and passes in each command-line argument as the source. Please be-aware that the database being replicate to must exist. This will help ensure that you have setup security before copying any records to it.

TODO

  • begin should end previous work if we know about it
  • allow end or create edit to update current message
  • handle Iris Couch being "off-line"
  • begin w/out arguments should launch $EDITOR
  • Replicate database for backup, relocation, etc
  • Bulk insert (for the day?)
  • git-rebase like feature (merge, remove, edit)
  • Reports, reports, and oh yeah, reports
    • Generate Report for the day (today, stats, sum)

Credits

About

Track time across computers so you don't have to do it later on the couch

License:Other


Languages

Language:JavaScript 100.0%