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

Planned

  • ? Calendar – screen that displays all tasks (done and not done) for a selected day
  • ? Categories – screen that displays all categories with information about current progress within a category
  • ✉️ 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 classes (with relationships defined) and all communication with the database. Provides task, category and step repositories and all related dependencies that need to be injected.
  • preferences – responsible for providing preferences 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 with view models, navigation graph, components used in multiple screens and top-level 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 – credits to vanpra

Screenshots

Phone

Foldable

Tablet

GitHub

View Github