Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mfurmanczyk/toodoo
A mobile application that allows users to manage their daily tasks. The app provides task categories and a responsive user interface made with Kotlin and Jetpack Compose.
https://github.com/mfurmanczyk/toodoo
android android-application android-architecture android-development compose-navigation compose-ui todo-app todoapp
Last synced: 1 day ago
JSON representation
A mobile application that allows users to manage their daily tasks. The app provides task categories and a responsive user interface made with Kotlin and Jetpack Compose.
- Host: GitHub
- URL: https://github.com/mfurmanczyk/toodoo
- Owner: MFurmanczyk
- Created: 2023-09-07T08:13:04.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-01T09:19:49.000Z (over 1 year ago)
- Last Synced: 2024-12-30T03:18:46.726Z (about 2 months ago)
- Topics: android, android-application, android-architecture, android-development, compose-navigation, compose-ui, todo-app, todoapp
- Language: Kotlin
- Homepage:
- Size: 2.51 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TooDoo
Simple to-do app with task categories and responsive UI made with Kotlin and Jetpack Compose. Currently, work in progress.## About the app
TooDoo is a personal tasks management app for Android. It aims to help users organize their tasks in a transparent manner by categorizing tasks into custom categories. (WIP) The app reminds users about tasks for the current day.
(WIP) Created tasks (eg. shopping lists) can be sent to others via SMS.## Features
### Done* π± Adaptive screen content - layout depends on screen size
* π€ Custom categories - users can define their own categories
* β Tasks - users can create tasks with multiple steps, categories, and due date
* π Dashboard - display categories with their overall progress and undone tasks that are due for the current day
* π€ Categories - screen that displays all categories with information about current progress within a category### Planned
* π Calendar - screen that displays all tasks (done and not done) for a selected day
* βοΈ SMS - sending task via SMS
* βNotifications - the app notifies the user about tasks that are planned to be done on that day## Modules
The app is built with multiple modules:
* data - responsible for [model](https://github.com/MFurmanczyk/TooDoo/tree/master/data/src/main/java/com/mfurmanczyk/toodoo/data/model) classes
(with [relationships](https://github.com/MFurmanczyk/TooDoo/tree/master/data/src/main/java/com/mfurmanczyk/toodoo/data/model/relationship) defined) and all communication with the
[database](https://github.com/MFurmanczyk/TooDoo/tree/master/data/src/main/java/com/mfurmanczyk/toodoo/data/database). Provides
[task](https://github.com/MFurmanczyk/TooDoo/blob/master/data/src/main/java/com/mfurmanczyk/toodoo/data/repository/TaskRepository.kt),
[category](https://github.com/MFurmanczyk/TooDoo/blob/master/data/src/main/java/com/mfurmanczyk/toodoo/data/repository/CategoryRepository.kt) and
[step](https://github.com/MFurmanczyk/TooDoo/blob/master/data/src/main/java/com/mfurmanczyk/toodoo/data/repository/StepRepository.kt) repositories and all related dependencies that need to be injected.
* preferences - responsible for providing [preferences](https://github.com/MFurmanczyk/TooDoo/blob/master/preferences/src/main/java/com/mfurmanczyk/toodoo/preferences/repository/DataStorePreferencesRepository.kt)
repository that allows users to customize the app (currently only username preference is available - defined on first-time launch)
* mobile - this module contains all [Composable UI](https://github.com/MFurmanczyk/TooDoo/tree/master/mobile/src/main/java/com/mfurmanczyk/toodoo/mobile/view/screen)
with [view models](https://github.com/MFurmanczyk/TooDoo/tree/master/mobile/src/main/java/com/mfurmanczyk/toodoo/mobile/viewmodel), [navigation graph](https://github.com/MFurmanczyk/TooDoo/tree/master/mobile/src/main/java/com/mfurmanczyk/toodoo/mobile/view/navigation),
[components](https://github.com/MFurmanczyk/TooDoo/tree/master/mobile/src/main/java/com/mfurmanczyk/toodoo/mobile/view/component)
used in multiple screens and [top-level](https://github.com/MFurmanczyk/TooDoo/blob/master/mobile/src/main/java/com/mfurmanczyk/toodoo/mobile/TooDooApp.kt) composable that is responsible for displaying adaptive screen content.## Technology & Techniques
Used technology and programming techniques:
* Android SDK
* Kotlin
* Jetpack Compose
* Multi-modules
* Coroutines
* Navigation
* MVVM pattern
* Dependency Injection with Hilt
* Kotlin flows
* Datastore
* Room database
* [Color picker](https://vanpra.github.io/compose-material-dialogs/ColorPicker/) - credits to [vanpra](https://github.com/vanpra)## Screenshots
### Phone
![]()
![]()
![]()
![]()
![]()
![]()
![]()
### Foldable
![]()
![]()
![]()
![]()
![]()
![]()
![]()
### Tablet
![]()
![]()
![]()
![]()
![]()