/finnish-harvest-hours

Compare your total logged hours in Harvest with standard Finnish working hours

Primary LanguageElmMIT LicenseMIT

finnish-harvest-hours Build Status

In Finland the standard work week is 37.5 hours. In the long term you are supposed to keep your logged hours within a reasonable margin of that standard. This app sums up the total amount of hours you have logged to Harvest and compares it to the standard hours, taking any national holidays into account.

Screenshot

Requirements for local development

  • Elm 0.18.0
  • Elm-test 0.18
  • Heroku toolbelt: https://toolbelt.heroku.com/
  • Node JS with ES6 support. Probably only runs on Node 8 at the moment.
  • MongoDB (for storing user data and sessions)
  • local-ssl-proxy: npm install -g local-ssl-proxy
  • nodemon: npm install -g nodemon
  • an OAuth2 API client set up in Harvest
  • .env file in project root with the required environment variables:
    • SESSION_SECRET: Express session secret
    • CLIENT_ID: Harvest API client id
    • CLIENT_SECRET: Harvest API client secret
    • CALLBACK_URL: Harvest API redirect URI, for local development this should be: https://localhost:5001/auth/callback
    • ORGANIZATION: Your organization name in Harvest
    • IGNORE_TASK_IDS: A comma-separated list of any Harvest task IDs you want to exclude from the total amount
    • KIKY_TASK_IDS: A comma-separated list of special KiKy task ids
    • START_DATE: Hour entries are calculated starting from this date. In YYYYMMDD format.

Running locally

./run-local

Go to https://localhost:5001/

Or, if you have problems with starting MongoDB with ./run-local or you have your own local database running already, you can also run

     local-ssl-proxy --source 5001 --target 5000 & \
     heroku local

Running tests

yarn test

Requirements for deployment to Heroku