{"id":13426112,"url":"https://github.com/overshard/timelite","last_synced_at":"2025-10-09T17:12:48.780Z","repository":{"id":39897956,"uuid":"195739063","full_name":"overshard/timelite","owner":"overshard","description":"Why is it 5 AM? Isn't there something simple I can use to track what I'm doing with all this time?","archived":false,"fork":false,"pushed_at":"2023-10-15T09:25:33.000Z","size":1682,"stargazers_count":268,"open_issues_count":3,"forks_count":18,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T12:08:35.426Z","etag":null,"topics":["docker","localstorage","nextjs","react","self-hosted","serverless","timer","timetracker"],"latest_commit_sha":null,"homepage":"https://timelite.bythewood.me","language":"JavaScript","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-08T04:56:36.000Z","updated_at":"2025-03-08T03:47:37.000Z","dependencies_parsed_at":"2024-11-08T02:53:37.125Z","dependency_job_id":"cdbf1e82-d325-44a7-92d0-311fdc4fa6ca","html_url":"https://github.com/overshard/timelite","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%2Ftimelite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimelite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimelite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overshard%2Ftimelite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/overshard","download_url":"https://codeload.github.com/overshard/timelite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675597,"owners_count":20977376,"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":["docker","localstorage","nextjs","react","self-hosted","serverless","timer","timetracker"],"created_at":"2024-07-31T00:01:26.644Z","updated_at":"2025-10-09T17:12:48.687Z","avatar_url":"https://github.com/overshard.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/overshard/timelite/master/public/static/logo.png\"\n         width=\"200\"\n         height=\"200\"\n         alt=\"Timelite Logo\" /\u003e\n\u003c/p\u003e\n\n# Timelite\n\nWhy is it 5 AM? Isn't there something simple I can use to track what I'm doing\nwith all this time?\n\nhttps://timelite.bythewood.me/\n\n\n## Why?\n\nI want to casually track the time I spend on things without any overhead of\nsigning into a service or even being online. Timelite is a progressive web app\nand works just fine without an internet connection, all data is stored locally\nand I don't track anything.\n\nTimelite has been a pretty great companion for me with more aggressive team\nmanagement software solutions that sometimes don't allow me to swap between\nprojects quickly and track time easily. I tend to hop from project to project\nand task to task regularly. Larger solutions have a lot of overhead for basic\ntime tracking. I tend to track my time here and then input that time at the end\nof the day or increments that make more sense.\n\nFor an overview of how to get this project running and why it's useful check out\nthe DB Tech video on it here: https://www.youtube.com/watch?v=woG6qOmxlOA\n\n\n## Clone\n\nFor any possible way of running Timelite yourself you'll need a copy of the\nrepo:\n\n    git clone https://github.com/overshard/timelite.git\n\nAfter you get the repo it's up to you how you want to use it.\n\n\n## Development\n\nYou will need to have a version of `node` installed and `yarn`. If you already\nhave `node` but don't know if you have yarn you probably just have `npm` and\ncan install yarn with `npm i -g yarn`. After that you can run:\n\n    yarn install\n    yarn start\n\nThis will spin up Timelite to run on port 3000 which you can access via a\nbrowser at `http://localhost:3000`.\n\nI won't really go into how to get `node` installed here, if you need help with\nthat feel free to submit an issue but the best place to start would be just\nsearching for `how to install node on \u003cyour operating system here\u003e`. There are\nplenty of great guides out there as it is very popular.\n\n\n## Production\n\nYou can either push to [Vercel](https://vercel.com/) with an update to the\n`vercel.json` file to change the alias or install Docker and docker-compose and\nuse that on any server.\n\nWith docker appending `-d` to the end after `up` will run this container in\ndetached mode. We have `restart: unless-stopped` configured so on system\nrestarts or crashes the container will start back up automatically.\n\n    docker-compose up -d\n\n\n## Ports\n\nTo change which ports things run on you can update the `package.json` file's\nscripts. You will also need to update the `docker-compose.yml` file, if you use\nthat, to properly publish the new port.\n\n\n## Troubleshooting\n\nYou may need to manually rebuild your docker container at times depending on\nchanges that have been made that may not automatically trigger a rebuild. To do\nthat you can run:\n\n    docker-compose up -d --build\n\nThe `up` implies that you want to start the server again, `--build` will rebuild\nthe container and `-d`, as stated above, starts us in detached mode so you can\nset it and forget it.\n","funding_links":[],"categories":["JavaScript","🌐 Web Development - Frontend"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovershard%2Ftimelite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovershard%2Ftimelite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovershard%2Ftimelite/lists"}