{"id":13469256,"url":"https://github.com/overshard/timestrap","last_synced_at":"2025-05-15T20:05:11.323Z","repository":{"id":38849012,"uuid":"88957090","full_name":"overshard/timestrap","owner":"overshard","description":"Time tracking you can host anywhere. Full export support in multiple formats and easily extensible.","archived":false,"fork":false,"pushed_at":"2023-04-03T23:30:00.000Z","size":5574,"stargazers_count":1703,"open_issues_count":7,"forks_count":101,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-08T02:39:31.810Z","etag":null,"topics":["django","docker","python","self-hosted","timetracker"],"latest_commit_sha":null,"homepage":"https://timestrap.bythewood.me","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/overshard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-21T07:48:27.000Z","updated_at":"2025-04-07T06:04:41.000Z","dependencies_parsed_at":"2024-01-16T17:02:21.028Z","dependency_job_id":"1721a0a9-ef88-45f7-81a7-5905cda66a2e","html_url":"https://github.com/overshard/timestrap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimestrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimestrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimestrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimestrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/overshard","download_url":"https://codeload.github.com/overshard/timestrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414499,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","python","self-hosted","timetracker"],"created_at":"2024-07-31T15:01:30.906Z","updated_at":"2025-05-15T20:05:03.972Z","avatar_url":"https://github.com/overshard.png","language":"Python","readme":"# Timestrap\n\nTime tracking you can host anywhere. Full export support in\nmultiple formats and easily extensible.\n\n\n## Warning\n\nThis app is currently very unstable. Everything may, and probably will, change.\nAll migrations are going to be wiped and setup properly before release 1.0 so\nyou will not be able to upgrade to 1.0 from early development.\n\n\n## Documentation\n\nFor more details and screenshots check out our main docs website:\n[https://timestrap.bythewood.me/](https://timestrap.bythewood.me/)\n\n\n## Superuser Credentials\n\nAll installations and the demo create a superuser to get you started, if this\nis a production deployment you will want to change these.\n\n-   Username: `admin`\n-   Password: `admin`\n\n\n## Docker Installation\n\nThis creates a minimal docker server setup for Timestrap. This currently is\nin development and may not have persistent data without fiddling. Any help to\nimprove the docker configuration files would be appreciated.\n\n\n### Docker Requirements\n\n-   Docker\n-   Docker Compose\n\nDocker Compose is used for running multiple containers since we require a\nPostgreSQL database and, not yet but soon, a Redis server for messages and\nevents.\n\n\n### Docker Running\n\nMake sure to update the environmental variables in `docker-compose.yml` and\ncheck the `timestrap/settings/docker.py` file to see if you'd like to change\nanything then run:\n\n    docker-compose up --detach --build\n\nTo migrate the database, create your first superuser, and create the initial\nsite configuration you then need to run:\n\n    docker-compose exec web python3 manage.py migrate\n\nThe Timestrap application should now be running on port 80 of whatever system\nyou ran these commands on, if you ran this locally then that would be\n[http://localhost/](http://localhost/).\n\n\n### Docker Data\n\nAll data should be stored in the timestrap_db volume. If you wish to rebuild\nTimestrap at the latest you can do the following from the timestrap repo you\ncloned:\n\n    git pull\n    docker-compose up --detach --build\n    docker-compose exec web python3 manage.py migrate\n\nAll data will be kept during this process and you'll have the latest version\nof Timestrap.\n\n\n## Development Installation\n\nIf you'd like to contribute code to Timestrap you'll need to do this!\n\n\n### Development Requirements\n\n-   Python 3.7+\n-   Node 14+\n-   pipenv\n-   yarn\n\nYou'll probably need to install pipenv with pip, run `pip install pipenv` to\nget this. Same with yarn for node, `npm install --global yarn`. On some systems\nyou may have to install some additional development files. For example on\nUbuntu you will need to install `apt install build-essential`. On Alpine you\nwill need `apk add python3-dev nodejs-dev postgresql-dev gcc musl-dev libffi-dev`.\n\n\n### Development Setup\n\nOnce you have all of the above you can get started!\n\n    yarn install\n    pipenv install --dev\n\nAfter all the dependencies install you can migrate the database and run the\nserver.\n\n    pipenv run python manage.py migrate\n    pipenv run python manage.py fake\n    yarn start\n\nTimestrap should now be running at [http://localhost:8000](http://localhost:8000)\nand the test server will automatically recognize and recompile changes to any\nfile allowing for quick modification and review.\n\nOnce you've made your changes you can share your changes by creating a\n[pull request](https://github.com/overshard/timestrap/pulls)!\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovershard%2Ftimestrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovershard%2Ftimestrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovershard%2Ftimestrap/lists"}