{"id":16569029,"url":"https://github.com/thehale/simpletimetracker-wearos","last_synced_at":"2025-08-10T08:34:43.868Z","repository":{"id":130440693,"uuid":"592579946","full_name":"thehale/SimpleTimeTracker-WearOS","owner":"thehale","description":"A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)","archived":false,"fork":false,"pushed_at":"2024-03-07T02:44:01.000Z","size":36208,"stargazers_count":14,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"wearos","last_synced_at":"2025-02-01T20:45:00.699Z","etag":null,"topics":["productivity","timetracking","wearos","wearoscompose"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thehale.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},"funding":{"github":"thehale","custom":"paypal.me/jhaledev"}},"created_at":"2023-01-24T03:11:11.000Z","updated_at":"2024-09-27T09:10:03.000Z","dependencies_parsed_at":"2023-03-15T20:30:36.238Z","dependency_job_id":"f35adefe-b602-4604-bf37-cde8b2560236","html_url":"https://github.com/thehale/SimpleTimeTracker-WearOS","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/thehale%2FSimpleTimeTracker-WearOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehale%2FSimpleTimeTracker-WearOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehale%2FSimpleTimeTracker-WearOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehale%2FSimpleTimeTracker-WearOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thehale","download_url":"https://codeload.github.com/thehale/SimpleTimeTracker-WearOS/tar.gz/refs/heads/wearos","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238751291,"owners_count":19524538,"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":["productivity","timetracking","wearos","wearoscompose"],"created_at":"2024-10-11T21:12:14.152Z","updated_at":"2025-02-13T23:31:50.935Z","avatar_url":"https://github.com/thehale.png","language":"Kotlin","funding_links":["https://github.com/sponsors/thehale","paypal.me/jhaledev"],"categories":[],"sub_categories":[],"readme":"# Simple Time Tracker\n\nSimple app that helps track how much time you spend on all the useless activities in the world.\n\n[\u003cimg src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\"\n     alt=\"Get it on F-Droid\"\n     height=\"75\"\u003e](https://f-droid.org/packages/com.razeeman.util.simpletimetracker/)\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png\"\n     alt=\"Get it on Google Play\"\n     height=\"75\"\u003e](https://play.google.com/store/apps/details?id=com.razeeman.util.simpletimetracker)\n[\u003cimg src=\"https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png\"\n     alt=\"Get it on GitHub\"\n     height=\"75\"\u003e](https://github.com/Razeeman/Android-SimpleTimeTracker/releases/latest)\n\n\u003cimg src=\"dev_files/preview.gif\" width=\"300\"/\u003e\n\n## Track different activities\n\n[![main_thumb]][main]\n\u003cbr\u003e\n\n## Add, change or delete activities\n\n[![change_record_type_thumb]][change_record_type]\n[![change_record_type_color_thumb]][change_record_type_color]\n[![change_record_type_icon_thumb]][change_record_type_icon]\n\u003cbr\u003e\n\n## View previous records\n\n[![records_thumb]][records]\n\u003cbr\u003e\n\n## Add, change or delete records\n\n[![change_record_thumb]][change_record]\n[![change_record_activity_thumb]][change_record_activity]\n\u003cbr\u003e\n\n## Views statistics on different time ranges\n\n[![statistics_thumb]][statistics]\n\u003cbr\u003e\n\n## View detailed statistics\n\n[![statistics_detail1_thumb]][statistics_detail1]\n[![statistics_detail2_thumb]][statistics_detail2]\n\u003cbr\u003e\n\n## Widgets\n\n[![widgets_thumb]][widgets]\n[![widget_universal_thumb]][widget_universal]\n\u003cbr\u003e\n\n## Notifications\n\n[![notifications_types_thumb]][notifications_types]\n[![notifications_inactivity_thumb]][notifications_inactivity]\n\u003cbr\u003e\n\n## Dark mode\n\n[![darkmode1_thumb]][darkmode1]\n[![darkmode2_thumb]][darkmode2]\n[![darkmode3_thumb]][darkmode3]\n\u003cbr\u003e\n\n## WearOS\n\n[![wearos_demo]][wearos_demo]\n\u003cbr\u003e\n\n## Technology stack\n- Kotlin\n- Multi module\n- Single Activity\n- MVVM (Jetpack ViewModel + LiveData)\n- Jetpack Navigation\n- Jetpack Compose (WearOS)\n- Hilt\n- Room, migrations\n- Coroutines\n- Widgets\n- Notifications\n- Custom Views (Pie Chart, Bar Chart, Color Selection, Calendar)\n- Recycler, custom Adapter Delegates, DiffUtils with Payloads\n- Drag and Drop, Gesture detection\n- Gradle Kotlin DSL\n- View Binding\n- Database backup and restore, export to csv, automatic backup\n- Dark mode\n- Unit tests, UI tests\n- CI with github actions\n- Emojis with EmojiCompat\n\n## Directory structure\n    .\n    ├── .github                               # CI files.\n    ├── app                                   # Mobile app.\n    ├── buildSrc                              # Deps and versions.\n    ├── core                                  # Shared classes, strings.\n    ├── data_local                            # Database.\n    ├── domain                                # Business logic.\n    ├── navigation                            # Navigation interfaces and screen params.\n    ├── wear                                  # WearOS app.\n    ├── wear_api                              # Mobile - WearOS communication\n    ├── features\n    │   ├── feature_archive                   # Screen for archived data.\n    │   ├── feature_base_adapter              # Shared recycler adapters.\n    │   ├── feature_categories                # Screen for categories and tags.\n    │   ├── feature_change_activity_filter    # Edit activity filter screen.\n    │   ├── feature_change_category           # Edit category screen.\n    │   ├── feature_change_record             # Edit record screen.\n    │   ├── feature_change_record_tag         # Edit tag screen.\n    │   ├── feature_change_record_type        # Edit type screen.\n    │   ├── feature_change_running_record     # Edit timer screen.\n    │   ├── feature_date_edit                 # Data edit screen.\n    │   ├── feature_dialogs                   # Dialogs.\n    │   ├── feature_goals                     # Separate screen for goals.\n    │   ├── feature_main                      # Main screen with tabs.\n    │   ├── feature_notification              # Notifications.\n    │   ├── feature_records                   # One of main tabs, records list.\n    │   ├── feature_records_all               # Screen showing all records.\n    │   ├── feature_records_filter            # Dialog for records filters.\n    │   ├── feature_running_records           # One of main tabs, timers.\n    │   ├── feature_settings                  # One of main tabs, settings.\n    │   ├── feature_statistics                # One of main tabs, statistics.\n    │   ├── feature_statistics_detail         # Screen showing detailed statistics.\n    │   ├── feature_tag_selection             # Screen for selecting tags.\n    │   ├── feature_views                     # Custom views.\n    │   └── feature_widget                    # Widgets.\n\n## License\n\n**Android App**\n\nCopyright (C) 2020-2024 Anton Razinkov devrazeeman@gmail.com\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\n**WearOS App**\n\nCopyright (C) 2023-2024 Joseph Hale https://jhale.dev,\n[@kantahrek](https://github.com/kantahrek), Anton Razinkov devrazeeman@gmail.com\n\nThis Source Code Form is subject to the terms of the Mozilla Public\nLicense, v. 2.0. If a copy of the MPL was not distributed with this\nfile, You can obtain one at https://mozilla.org/MPL/2.0/.\n\n\n[change_record_thumb]: dev_files/screens/change_record_thumb.png\n[change_record]: dev_files/screens/change_record.png\n[change_record_activity_thumb]: dev_files/screens/change_record_activity_thumb.png\n[change_record_activity]: dev_files/screens/change_record_activity.png\n\n[change_record_type_thumb]: dev_files/screens/change_record_type_thumb.png\n[change_record_type]: dev_files/screens/change_record_type.png\n[change_record_type_color_thumb]: dev_files/screens/change_record_type_color_thumb.png\n[change_record_type_color]: dev_files/screens/change_record_type_color.png\n[change_record_type_icon_thumb]: dev_files/screens/change_record_type_icon_thumb.png\n[change_record_type_icon]: dev_files/screens/change_record_type_icon.png\n\n[main_thumb]: dev_files/screens/main_thumb.png\n[main]: dev_files/screens/main.png\n\n[records_thumb]: dev_files/screens/records_thumb.png\n[records]: dev_files/screens/records.png\n\n[statistics_thumb]: dev_files/screens/statistics_thumb.png\n[statistics]: dev_files/screens/statistics.png\n\n[statistics_detail1_thumb]: dev_files/screens/statistics_detail1_thumb.png\n[statistics_detail1]: dev_files/screens/statistics_detail1.png\n[statistics_detail2_thumb]: dev_files/screens/statistics_detail2_thumb.png\n[statistics_detail2]: dev_files/screens/statistics_detail2.png\n\n[widgets_thumb]: dev_files/screens/widgets_thumb.png\n[widgets]: dev_files/screens/widgets.png\n\n[widget_universal_thumb]: dev_files/screens/widget_universal_thumb.png\n[widget_universal]: dev_files/screens/widget_universal.png\n\n[notifications_types_thumb]: dev_files/screens/notifications_types_thumb.png\n[notifications_types]: dev_files/screens/notifications_types.png\n[notifications_inactivity_thumb]: dev_files/screens/notifications_inactivity_thumb.png\n[notifications_inactivity]: dev_files/screens/notifications_inactivity.png\n\n[darkmode1_thumb]: dev_files/screens/darkmode1_thumb.png\n[darkmode1]: dev_files/screens/darkmode1.png\n[darkmode2_thumb]: dev_files/screens/darkmode2_thumb.png\n[darkmode2]: dev_files/screens/darkmode2.png\n[darkmode3_thumb]: dev_files/screens/darkmode3_thumb.png\n[darkmode3]: dev_files/screens/darkmode3.png\n\n[wearos_demo]: dev_files/wearos_demo.gif\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthehale%2Fsimpletimetracker-wearos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthehale%2Fsimpletimetracker-wearos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthehale%2Fsimpletimetracker-wearos/lists"}