Code Monkey home page Code Monkey logo

hours's Introduction

Hours

Build Status Code Climate Reviewed by Hound

Deploy

Hours is a dead simple project based time tracking application that we use for internal time-tracking. It allows users to register how many hours they've worked on a project with a certain category (think design, software development, testing for software teams) and add any tag they like to it. This gives us a lot of insight on how we spend our time on different projects.

It looks like this:

Projects overview

Single project

Entries

Audit Log

Entry

Roadmap

As we're using Hours we're constantly thinking of ways to improve it and we'd love to hear your thoughts!

System Dependencies

  • Ruby 2.4.2 (install with rbenv)
  • Rubygems
  • Bundler (gem install bundler)
  • PostgreSQL
  • qmake (brew install qt) or read extensive instructions here
  • memcached (brew install memcached, an older version ships with OSX)(optional)
  • imagemagick (brew install imagemagick)

Getting Started

This repository comes equipped with a self-setup script:

% ./bin/setup

After setting up, you can run the application using foreman:

% foreman start

Since we're using subdomains to point to accounts, you can't run the app on localhost. If you have pow set up or if you use linux an alternative is prax, it will be automatically configured by the setup script, otherwise you need to point apache/nginx to the port foreman is running the app on (7000 by default). With pow/prax the app will run on http://hours.dev

In order to activate caching in development you can add CACHE_DEVELOPMENT="anything" to your .env. Make sure to run $ memcached when you do need this.

Getting Started with Docker

This repository comes equipped to be run within Docker, but this requires a few more local dependencies. For instructions on installing and getting started with Docker go here. You'll also need docker-compose, but it will be installed for you through Docker for Mac or Windows.

This repository comes equipped with a self-setup script for using Docker:

% ./bin/docker_setup

On first boot you'll also need to create your database, for that use:

% docker-compose run --rm app rake db:create db:migrate

After setting up, you can run the application and dependencies using [docker-compose]:

% docker-compose up -d

If your Docker host is running on localhost then you should be able to use pow/prax, otherwise you'll need to connect to it via:

http://DOCKER_IP:7000

Feature Flags

Description:

Single Tenant Mode: Initialize application in single tenant mode. Disabled by default.

Usage:

To use the single tenant mode, you can add SINGLE_TENANT_MODE to your enviroment variables with the value true. On development you can set this in your .env with SINGLE_TENANT_MODE=true and restart foreman. On heroku it's under the Config Variables. The first user in single tenant mode can be created by a rake task rake create_user. We'll ask you for your credentials.

Guidelines

  • Pull requests are welcome! If you aren't able to contribute code please open an issue on Github.
  • Write specs!
  • Develop features on dedicated feature branches, feel free to open a PR while it's still WIP
  • Please adhere to the Thoughtbot ruby styleguide
  • All code and commit messages should be in English
  • Commit messages are written in the imperative with a short, descriptive title. Good => Return a 204 when updating a question, bad => Changed http response or I updated the http response on the update action in the QuestionController because we're not showing any data there. The first line should always be 50 characters or less and that it should be followed by a blank line.
  • Please localize all strings and add i18n keys to the locale files sorted by key in ascending order

License

Hours is distributed under the MIT license.

hours's People

Contributors

jurre avatar fatboypunk avatar marthyn avatar dkhgh avatar tarzan avatar sn3p avatar dependabot-support avatar herminiotorres avatar mischaboldy avatar andystabler avatar johnthepink avatar michalsz avatar dependabot[bot] avatar dixpac avatar ducpho avatar keiththomps avatar bricesanchez avatar danielamah avatar eoengineer avatar ivayloap avatar kerrizor avatar ruan-brandao avatar lym avatar salbertson avatar seanhussey avatar sinetheta avatar dinobi avatar

Watchers

James Cloos 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.