Open Source Time Tracker by LRDesign
JavaScript Ruby CSS HTML Perl Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.pivotal-brancher Criminey - ridiculous amount of work to get back to using Chronic Oct 3, 2013
app Cherry picking quick fixes from Tracks Dec 15, 2015
config Attempt to reconfigure gemfile and travis config so as to not get bui… Nov 24, 2015
db Update sample data, migration to remove Notes column. Nov 11, 2015
doc Generated initial application via LRD app template May 21, 2011
lib Simple fix to a spec fail, and hopefully a finish to the data timeouts Dec 3, 2015
public graphs displays total hours May 12, 2015
script Generated initial application via LRD app template May 21, 2011
scripts [Finishes #71] Converted to postgress, with handy-dandy perl script May 23, 2014
spec Filtering specs so that Firefox skips the ones it can't handle Dec 11, 2015
vendor/git [#48221081] Deploy scripts Apr 17, 2013
.codeclimate.yml Excluding library files from CC analysis Dec 12, 2015
.csslintrc Excluding library files from CC analysis Dec 12, 2015
.eslintrc Excluding library files from CC analysis Dec 12, 2015
.gitattributes Updated NS, fixed stories, changed dupe id to class Mar 5, 2014
.gitignore Fixing story spec re dates Nov 30, 2015
.rubocop.yml Excluding library files from CC analysis Dec 12, 2015
.simplecov typo Dec 11, 2015
.travis.yml Filtering specs so that Firefox skips the ones it can't handle Dec 11, 2015
Capfile update capistrano Apr 25, 2013
Gemfile Update to Waterpig 0.12.1 and therefore Steps 2.1 Dec 11, 2015
Gemfile.lock Update to Waterpig 0.12.1 and therefore Steps 2.1 Dec 11, 2015
LICENSE.md [#60132544] License Change Nov 5, 2013
README.md Add Anne Vetto's name to the README Aug 3, 2015
Rakefile Convert application name to TimePulse Nov 7, 2013
config.ru Switch Tracks => TimePulse in config.ru Nov 7, 2013
latest.sql.bz2 Change project report partial from _form to _details and fix two form… Jan 18, 2014

README.md

Welcome to TimePulse

OSS Time Tracker for Consultants and Contractors

This project is originally by Logical Reality Design, Inc., and was built primarily by Evan Dorn, Judson Lester, and Hannah Howard with contributions from many other current and past contractors of LRD.

Code Climate Build Status

Features Overview

TimePulse features a few key features we find useful in a team time-tracking application.

  • Both punchclock and manual entry clocking
  • Integration with GitHub and Pivotal Tracker - clocked time is associated automatically with PT tickets and with Git commits.
  • Heirarchical tree of projects, with attribute inheritance
  • Unified interface for both invoicing clients and paying subcontractors/staff
  • Invoice generation
  • Multiple customizable rates for each project
  • Workers can be individually assigned to a rate on a per-project basis

Technology

TimePulse is a Rails 3.2 + MySQL application, with a modest amount of JavaScript written with jQuery and NinjaScript. It should run fine on any platform capable of running a Ruby 1.9.3 + Rails 3.2 application, with few other dependencies.

API Integrations

TimePulse provides callback endpoints for both GitHub and PivotalTracker. If the URL at which you run TimePulse is configured in either or both services, activity (commits, ticket state changes, etc.) will be saved with your time logs. Invoice reports can then be generated which show (for example) all the git traffic and pivotal tickets that were completed during the period being billed for, and associated to the developer and/or work hours entry.

Documentation

Documentation and examples can be found at timepulse.io.

Getting Started

Assuming you have a place to deploy already set up, you'll need to:

  • Clone this repository
  • Set up deploy scripts (for Capistrano, or whatever system you prefer)
  • Copy and configure the credentials files, particularly config/database.yml, config/initializers/smtp.rb, config/initializers/session_secret.rb and config/initializers/api_keys.rb
  • Create a database
  • Deploy and seed the database
  • Log in as the initial admin user

For now, you'll probably need solid knowledge of Rails to customize and deploy this app. We're working on making it a simpler process for future users.

Contributing

Fork and Pull Request! Y'all know the drill by now. Please make sure the tests pass, and add tests for your code.

History

TimePulse was first built as an internal time-tracking application for LRD in early 2011. Since then it's grown and expanded, and in October 2013 we decided to open-source the project.

Contributors

LICENSE

TimePulse is released under a restricted license. See the accompanying LICENSE file for details.