saltsoftdrink / SimpleTimeTracker-WearOS

A fork of Simple Time Tracker with WearOS support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple Time Tracker for Wear OS

A fork of Simple Time Tracker with WearOS support.

Application screenshot Application screenshot

WearOS Status

While not ready for production, this project has a solid foundation for Wear <-> Mobile communication and is now open to contributors for adding functionality and UI/Design.

Check the GitHub Issues for details about the next steps. Once this fork reaches stability, we will open a PR back into the upstream application so everyone can benefit from these improvements!



Original README...

Simple Time Tracker

Simple app that helps track how much time you spend on all the useless activities in the world.

Get it on F-Droid Get it on Google Play Get it on GitHub

Track different activities

main_thumb

Add, change or delete activities

change_record_type_thumb change_record_type_color_thumb change_record_type_icon_thumb

View previous records

records_thumb

Add, change or delete records

change_record_thumb change_record_activity_thumb

Views statistics on different time ranges

statistics_thumb

View detailed statistics

statistics_detail1_thumb statistics_detail2_thumb

Widgets

widgets_thumb widget_universal_thumb

Notifications

notifications_types_thumb notifications_inactivity_thumb

Dark mode

darkmode1_thumb darkmode2_thumb darkmode3_thumb

Technology stack

  • Kotlin
  • Multi module
  • Single Activity
  • MVVM (Jetpack ViewModel + LiveData)
  • Jetpack Navigation
  • Hilt
  • Room, migrations
  • Coroutines
  • Widgets
  • Notifications
  • Custom Views (Pie Chart, Bar Chart, Color Selection, Calendar)
  • Recycler, custom Adapter Delegates, DiffUtils with Payloads
  • Drag and Drop, Gesture detection
  • Gradle Kotlin DSL
  • View Binding
  • Database backup and restore, export to csv, automatic backup
  • Dark mode
  • Unit tests, UI tests
  • CI with github actions
  • Emojis with EmojiCompat

Directory structure

.
├── .github                               # CI files.
├── app                                   # Mobile app.
├── buildSrc                              # Deps and versions.
├── core                                  # Shared classes, strings.
├── data_local                            # Database.
├── domain                                # Business logic.
├── navigation                            # Navigation interfaces and screen params.
├── features
│   ├── feature_archive                   # Screen for archived data.
│   ├── feature_base_adapter              # Shared recycler adapters.
│   ├── feature_categories                # Screen for categories and tags.
│   ├── feature_change_activity_filter    # Edit activity filter screen.
│   ├── feature_change_category           # Edit category screen.
│   ├── feature_change_record             # Edit record screen.
│   ├── feature_change_record_tag         # Edit tag screen.
│   ├── feature_change_record_type        # Edit type screen.
│   ├── feature_change_running_record     # Edit timer screen.
│   ├── feature_date_edit                 # Data edit screen.
│   ├── feature_dialogs                   # Dialogs.
│   ├── feature_goals                     # Separate screen for goals.
│   ├── feature_main                      # Main screen with tabs.
│   ├── feature_notification              # Notifications.
│   ├── feature_records                   # One of main tabs, records list.
│   ├── feature_records_all               # Screen showing all records.
│   ├── feature_records_filter            # Dialog for records filters.
│   ├── feature_running_records           # One of main tabs, timers.
│   ├── feature_settings                  # One of main tabs, settings.
│   ├── feature_statistics                # One of main tabs, statistics.
│   ├── feature_statistics_detail         # Screen showing detailed statistics.
│   ├── feature_tag_selection             # Screen for selecting tags.
│   ├── feature_views                     # Custom views.
│   └── feature_widget                    # Widgets.

License

Copyright (C) 2020-2024 Anton Razinkov devrazeeman@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

About

A fork of Simple Time Tracker with WearOS support.

License:GNU General Public License v3.0


Languages

Language:Kotlin 100.0%