{"id":13430439,"url":"https://github.com/hamaluik/timecop","last_synced_at":"2025-03-16T05:30:57.259Z","repository":{"id":38600318,"uuid":"243175714","full_name":"hamaluik/timecop","owner":"hamaluik","description":"A time tracking app that respects your privacy and the gets the job done without being fancy.","archived":false,"fork":false,"pushed_at":"2025-01-24T03:13:20.000Z","size":23266,"stargazers_count":846,"open_issues_count":38,"forks_count":156,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-01-24T04:17:55.045Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://timecop.app/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hamaluik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2020-02-26T05:22:12.000Z","updated_at":"2025-01-24T03:13:25.000Z","dependencies_parsed_at":"2025-01-24T04:27:56.209Z","dependency_job_id":null,"html_url":"https://github.com/hamaluik/timecop","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamaluik%2Ftimecop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamaluik%2Ftimecop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamaluik%2Ftimecop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamaluik%2Ftimecop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hamaluik","download_url":"https://codeload.github.com/hamaluik/timecop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830912,"owners_count":20354848,"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":["hacktoberfest"],"created_at":"2024-07-31T02:00:53.700Z","updated_at":"2025-03-16T05:30:52.249Z","avatar_url":"https://github.com/hamaluik.png","language":"Dart","readme":"\u003ch1 align=\"center\"\u003e\n  Time Cop\n  \u003cbr\u003e\n  \u003ca href=\"https://timecop.app\"\u003e\u003cimg alt=\"icon\" width=\"128\" height=\"128\" src=\"icon.no-bg.cyan.svg\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n  A time tracking app that respects your privacy and gets the job done without getting too fancy.\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/hamaluik/timecop?style=flat-square\"\u003e\n  \u003ca href=\"https://hosted.weblate.org/engage/timecop/\"\u003e\n    \u003cimg src=\"https://hosted.weblate.org/widgets/timecop/-/svg-badge.svg\" alt=\"Translation status\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Motivation\n\nI'd rather not do time-tracking at all, but since its a necessity for my work, it's either use an app or keep track of things manually (which I'm terrible at). There are many time tracking apps on the app stores (and I have tried several of them), but each of them has at least one pain point that eventually drives me off—some cost more money than I think they should, others have (what I consider) poorly designed interfaces, some are way too complicated, some don't export data easily, most require an internet connection, I have privacy concerns with a large number of them, etc, etc.\n\nTime tracking in and of itself is rather straightforward (hence all the apps on the app stores), so I figured “why not use this as an opportunity to practice mobile development and learn some new things?”. This app is the result of that question—its a tool that I use every day for work, but also a sample project to work off of and share with others.\n\n## Features\n\n* Offline-only, mobile-first\n* For Android ([Google Play](https://play.google.com/store/apps/details?id=ca.hamaluik.timecop), [F-Droid](https://f-droid.org/packages/ca.hamaluik.timecop/)), [iOS](https://apps.apple.com/us/app/time-cop/id1500711020), and [Linux](https://flathub.org/apps/details/ca.hamaluik.Timecop)\n* Fully private—there is no tracking / spying / advertising / etc\n* Keep track of tasks with multiple parallel timers that can be started with the tap of a button\n* Associate timers with projects to group your work (or don't)\n* Start, stop, edit, and delete timers whenever with no fuss\n* Export data as a `.csv` file, filtered by timespans and projects\n* Export the app's database for full access to all of its data\n* Automatic light mode / dark mode based on your device settings\n* Localized in several languages (thanks to [Google Translate](https://cloud.google.com/translate)): English, Arabic, German, Spanish, French, Hindi, Japanese, Korean, Portuguese, Russian, Chinese (Simplified), Chinese (Traditional), as well as Italian, Czech, Norwegian, and Indonesian (via contributors)\n* Open source ([licensed under Apache-2.0](LICENSE))—fork away!\n\n## Screenshots\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Screenshot\" src=\"screenshots/ios/dark/en/iPhone Xs Max-Portrait-dashboard.jpg\" height=\"480\"\u003e \u003cimg alt=\"Screenshot\" src=\"screenshots/ios/dark/en/iPhone Xs Max-Portrait-editor.jpg\" height=\"480\"\u003e \u003cimg alt=\"Screenshot\" src=\"screenshots/ios/dark/en/iPhone Xs Max-Portrait-projects.jpg\" height=\"480\"\u003e \u003cimg alt=\"Screenshot\" src=\"screenshots/ios/dark/en/iPhone Xs Max-Portrait-export.jpg\" height=\"480\"\u003e \u003cimg alt=\"Screenshot\" src=\"screenshots/ios/dark/en/iPhone Xs Max-Portrait-about.jpg\" height=\"480\"\u003e\n\u003c/div\u003e\n\nMore screenshots (including dark-mode and localization demonstrations) are available in the [screenshots/](screenshots/) folder.\n\n## Contributing\n\nI'm happy to take bug reports and pull requests if you want to help improve _Time Cop_, but I fundamentally want to keep this app relatively small and simple. If that's not for you, there's [plenty](https://toggl.com/) of [other](https://clockify.me/) [options](https://www.workpuls.com/) [out](https://www.manictime.com/) [there](https://trackabi.com/).\n\nThe app is created pretty much entirely in [Dart](https://dart.dev/) using [Flutter](https://flutter.dev/), and I tried to make heavy use of the [Bloc](https://bloclibrary.dev/#/) pattern.\n\nHere are a few resources to get you started if this is your first Flutter project:\n\n- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)\n- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)\n\nFor help getting started with Flutter, view its [online documentation](https://flutter.dev/docs), which offers tutorials,\nsamples, guidance on mobile development, and a full API reference.\n\nAfter [installing and setting up Flutter](https://docs.flutter.dev/get-started/install) (ideally its latest stable version) and downloading the Time Cop code, you should be able to simply [build and run](https://docs.flutter.dev/get-started/test-drive#run-the-app) this Flutter project, at least for mobile platforms. For more information, see the `CONTRIBUTING.md` file.\n\n### Localizations\n\nYou can help translate Time Cop on [Weblate](https://hosted.weblate.org/projects/timecop/). If you notice any incorrect strings, feel free to correct them. Similarly, if you want to add a language, please do!\n\nTranslations are handled using [Project Fluent](https://projectfluent.org/). Currently all translations except English, Italian, Czech, Norwegian, and Indonesian were auto-translated by [Google Translate](https://cloud.google.com/translate) using my [Translate Tool](https://github.com/hamaluik/translatetool).\n\n## Todo\n\nA list of “user stories” (and I use that term very loosely) guiding the development of this app is available in [design/user-stories.md](design/user-stories.md); any unchecked boxes are outstanding items on the todo list!\n","funding_links":[],"categories":["Open Source Apps","Applications","Dart","Uncategorized","Flutter Project Showcase"],"sub_categories":["Productivity","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamaluik%2Ftimecop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamaluik%2Ftimecop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamaluik%2Ftimecop/lists"}