Skip to content

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.

Notifications You must be signed in to change notification settings

MFurmanczyk/TooDoo

Repository files navigation

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 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

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages