Simple app that helps track how much time you spend on all the useless activities in the world.
- 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
.
├── .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.
Copyright (C) 2020-2023 Anton Razinkov [email protected]
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/.