• Stars
    star
    1,686
  • Rank 27,502 (Top 0.6 %)
  • Language
    Python
  • License
    BSD 2-Clause "Sim...
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Timestrap

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. All migrations are going to be wiped and setup properly before release 1.0 so you will not be able to upgrade to 1.0 from early development.

Documentation

For more details and screenshots check out our main docs website: https://timestrap.bythewood.me/

Superuser Credentials

All installations and the demo create a superuser to get you started, if this is a production deployment you will want to change these.

  • Username: admin
  • Password: admin

Docker Installation

This creates a minimal docker server setup for Timestrap. This currently is in development and may not have persistent data without fiddling. Any help to improve the docker configuration files would be appreciated.

Docker Requirements

  • Docker
  • Docker Compose

Docker Compose is used for running multiple containers since we require a PostgreSQL database and, not yet but soon, a Redis server for messages and events.

Docker Running

Make sure to update the environmental variables in docker-compose.yml and check the timestrap/settings/docker.py file to see if you'd like to change anything then run:

docker-compose up --detach --build

To migrate the database, create your first superuser, and create the initial site configuration you then need to run:

docker-compose exec web python3 manage.py migrate

The Timestrap application should now be running on port 80 of whatever system you ran these commands on, if you ran this locally then that would be http://localhost/.

Docker Data

All data should be stored in the timestrap_db volume. If you wish to rebuild Timestrap at the latest you can do the following from the timestrap repo you cloned:

git pull
docker-compose up --detach --build
docker-compose exec web python3 manage.py migrate

All data will be kept during this process and you'll have the latest version of Timestrap.

Development Installation

If you'd like to contribute code to Timestrap you'll need to do this!

Development Requirements

  • Python 3.7+
  • Node 14+
  • pipenv
  • yarn

You'll probably need to install pipenv with pip, run pip install pipenv to get this. Same with yarn for node, npm install --global yarn. On some systems you may have to install some additional development files. For example on Ubuntu you will need to install apt install build-essential. On Alpine you will need apk add python3-dev nodejs-dev postgresql-dev gcc musl-dev libffi-dev.

Development Setup

Once you have all of the above you can get started!

yarn install
pipenv install --dev

After all the dependencies install you can migrate the database and run the server.

pipenv run python manage.py migrate
pipenv run python manage.py fake
yarn start

Timestrap should now be running at http://localhost:8000 and the test server will automatically recognize and recompile changes to any file allowing for quick modification and review.

Once you've made your changes you can share your changes by creating a pull request!

More Repositories

1

pinry

Pinry's repository has moved to
Python
607
star
2

timelite

Why is it 5 AM? Isn't there something simple I can use to track what I'm doing with all this time?
JavaScript
263
star
3

docker-minecraft

An easy way to get a Minecraft server up and running using docker.
Shell
192
star
4

docker-teamspeak

A nice and easy way to get a TeamSpeak server up and running using docker.
Shell
106
star
5

ai-art

Art generation using VQGAN + CLIP using docker containers. A simplified, updated, and expanded upon version of Kevin Costa's work. This project tries to make generating art as easy as possible for anyone with a GPU by providing a simple web UI.
Python
16
star
6

isaacbythewood.com

The personal website of Isaac Bythewood.
JavaScript
10
star
7

newtab

A clean new tab page extension for Chrome made by Isaac Bythewood, you can grab it and customize it yourself.
JavaScript
3
star
8

dotfiles

A variety of config files for setting up new systems.
Shell
2
star
9

status

A self-hosted status monitoring service.
Python
2
star
10

every-robot-planet

An incremental game by Isaac Bythewood, Dylan Lee, and various other contributors.
JavaScript
2
star
11

everyrobotplanet.com

An incremental game by Isaac Bythewood, Dylan Lee, and various other contributors.
JavaScript
2
star
12

blog

A self-hostable blog built on Wagtail targeted towards developers with code blocks, syntax highlighting, live search, great SEO, and a clean customizable UI.
Python
2
star
13

dockerfiles

All the Dockerfiles I use for various purposes. More detailed usage instructions are at the top of each Dockerfile.
Dockerfile
2
star
14

alpinefiles

Some of the files that I use on my Alpine Linux servers.
Shell
1
star
15

analytics

A self-hostable analytics service with a straightforward API to collect events from any source.
Python
1
star