GithubHelp home page GithubHelp logo

johnsonc / timepulse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from timepulse/timepulse

0.0 2.0 0.0 5.74 MB

Open Source Time Tracker by LRDesign

License: Other

Ruby 37.21% JavaScript 43.65% HTML 5.92% CSS 10.13% Shell 0.07% Perl 3.02%

timepulse's Introduction

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 config/database.yml and config/secrets.yml. Note that you can start with copies of config/database.yml.example and config/secrets.yml.example.
  • Create a database
  • Deploy and seed the database
  • Log in as the initial admin user (username: admin, password: password)
  • Log in a the initial fake non-admin user (username: jane, password: password)

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.

Setting up for development

To develop or contribute, the setup sequence should look something like this:

git clone https://github.com/TimePulse/TimePulse
cd TimePulse
bundle
cp config/secrets.yml.example config/secrets.yml
cp config/database.yml.example config/database.yml
# Edit config/database.yml to match your local DB setup
bundle exec rake db:create db:migrate
bundle exec rake db:seed db:sample_data:load db:test:prepare
bundle exec rspec spec

Note that sample users are created by the sample_data rake task, which can be found in 'lib/sample_data.rake'.

Sample data

The rake db:sample_data:load task will create fake users, clients, projects, and work history. Most of the information is random, but there are two guaranteed user accounts:

  • login 'admin', password 'password', a user with admin privileges but no work History
  • login 'jane', password 'password', a non-admin user with a work history.

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.

timepulse's People

Contributors

idahoev avatar hannahhoward avatar nyarly avatar brookekfox avatar anniee avatar tablesawtablesawsen avatar ricklesgibson avatar patriciaho avatar hartsick avatar phobetron avatar purplebaron avatar pphan98 avatar jboninger avatar mikewong79 avatar kpearson avatar nomadicoder avatar tomjakubowski avatar jeffects avatar ovargas27 avatar

Watchers

James Cloos avatar Johnson Chetty avatar

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.