: 4

Travis Coveralls license Gitter

Time tracking you can host anywhere. Full export support in multiple formats and easily extensible.


⚠️ Warning

This app is currently very unstable. Everything may, and probably will, change.


There is a demo instance of Timestrap on Heroku that resets every 10 minutes. The default credentials are:

  • Username: admin
  • Password: admin


Want to get up and running quickly? 🚀


For manual deployments to Heroku without using the deploy button, make sure to create two settings before pushing using heroku config:set:

heroku config:set DJANGO_SETTINGS_MODULE=timestrap.settings.heroku
heroku config:set SECRET_KEY=ChangeMeToSomethingRandom

After a successful push, log in with the default credentials (below) and change the admin password

🔒 Heroku deployments use a default username and password with superuser access, please change it via the admin panel after initial login:

  • Username: admin
  • Password: admin

Docker Installation

Follow the steps below to install Timestrap locally or on any server. This process installs the minimal requirements to run Timestrap. For development requirements and procedures, see Development Installation.

  1. Install the requirements:

  2. Set any custom configuration options you need and run

     docker-compose up -d
  3. Bootstrap the database and creates the initial site and user (username: admin, password: admin)

     docker-compose exec web python3 manage.py migrate --settings=timestrap.settings.docker

The Timestrap application should now be running at http://localhost/. If it is not, feel free to create an issue to seek assistance or report a bug! 🐛

Development Installation

❗️ Important Note: Node is not required for Timestrap to function. Node is used for building Timestrap's static files and improving the development workflow. This installation procedure is only necessary for making changes to static files.

  1. Install the requirements:

  2. Initiate a virtual environment with the development requirements.

     pip install pipenv && pipenv install --dev
  3. Install Node dependencies.

     npm install -g gulp-cli && npm install
  4. Bootstrap the database and creates the initial site and user (username: admin, password: admin)

     gulp manage:migrate
  5. Run the server!


The Timestrap application should now be running at http://localhost:8000. Gulp will automatically recognize and recompile changes to any static files, allowing quick modification and review without starting and stopping the application.

Pull requests are 👍 welcome and 👏 encouraged!

Further Reading

For additional documentation on configuration, installation, testing and more, please see https://docs.getTimestrap.com.