{"id":20596083,"url":"https://github.com/davidfig/time-tracker","last_synced_at":"2026-02-10T18:32:20.998Z","repository":{"id":44018162,"uuid":"231849564","full_name":"davidfig/time-tracker","owner":"davidfig","description":"[WIP] A self-hosted Time Tracker using node.js, sqlite3, and HTML5","archived":false,"fork":false,"pushed_at":"2023-01-09T22:36:59.000Z","size":1632,"stargazers_count":2,"open_issues_count":15,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-18T19:51:56.193Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidfig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-05T00:54:12.000Z","updated_at":"2023-06-29T14:39:44.000Z","dependencies_parsed_at":"2023-02-08T15:16:27.303Z","dependency_job_id":null,"html_url":"https://github.com/davidfig/time-tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davidfig/time-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfig%2Ftime-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfig%2Ftime-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfig%2Ftime-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfig%2Ftime-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidfig","download_url":"https://codeload.github.com/davidfig/time-tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfig%2Ftime-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29311126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T17:48:59.043Z","status":"ssl_error","status_checked_at":"2026-02-10T17:45:37.240Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-16T08:15:06.060Z","updated_at":"2026-02-10T18:32:20.980Z","avatar_url":"https://github.com/davidfig.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# time-tracker\r\nA self-hosted Time Tracker using node.js, sqlite3, and HTML5. Similar in feel to FreshBooks's time tracker functionality (but without the cost).\r\n\r\nThis is currently a work in progress, and is not ready for beta use. I'll change this once I start dogfooding my own time tracking.\r\n\r\n## Features\r\n* Self-hosted node.js application using sqlite3 for database\r\n* Run it locally or on a server\r\n* Each user has its own clients and client-related projects\r\n* Track time and toggle the timer between different clients and/or projects\r\n* Built-in timer, or manually enter duration or start/end time\r\n\r\n## WIP Features\r\n* Invoice generation\r\n* Export time to csv\r\n\r\n## Possible Future Features\r\n* Track expenses\r\n* Track paid invoices\r\n* Team-based clients/projects/users\r\n\r\n## Installation\r\n1. `git clone git@github.com:davidfig/time-tracker.git`\r\n2. `yarn` or `npm install`\r\n3. if running on localhost, no edits are needed, just run `yarn start` and open your browser to [localhost:4560](http://localhost:4560). \r\n4. If running on a domain:\r\n   a. edit `settings.json` and update name, and port (if needed)\r\n   b. reverse proxy node app using nginx or web server of choice (todo: add instructions/link)\r\n3. `yarn start` or `pm2 add \u003ctime-tracker-directory\u003e/index.js`\r\n\r\n## License  \r\nMIT License  \r\n(c) 2020 [YOPEY YOPEY LLC](https://yopeyopey.com/) by [David Figatner](https://twitter.com/yopey_yopey/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfig%2Ftime-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidfig%2Ftime-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfig%2Ftime-tracker/lists"}