To-Do and time tracking app with day planning and suggestions of what to do next when there is overwhelming choices
Find a file
2026-09-12 17:46:17 -06:00
app Add selection screen to add to-do templates to routines 2026-09-12 17:46:17 -06:00
gradle Update agp 2026-09-02 11:02:30 -06:00
.gitignore Create a new Android app 2026-08-17 20:55:18 -06:00
build.gradle.kts Add room schema export and include version 1 2026-08-25 16:02:45 -06:00
gradle.properties Create a new Android app 2026-08-17 20:55:18 -06:00
gradlew Create a new Android app 2026-08-17 20:55:18 -06:00
gradlew.bat Create a new Android app 2026-08-17 20:55:18 -06:00
LICENSE Update license with my full name 2026-08-18 02:00:07 +00:00
README.md Add top bars throughout app and setting screen 2026-09-06 17:23:32 -06:00
settings.gradle.kts Update Gradle and Kotlin, fix warnings 2026-08-25 15:33:13 -06:00

JustWantSomethingToDo

To-Do and time tracking app with day planning and suggestions of what to do next when there is overwhelming choices

Development

Style and Best Practices

Composables

  • Name something that is a navigation route that controls the whole screen with the suffix Screen.
    • Example: RoutinesScreen
    • The screen composable should only contain a scaffold that adds top/bottom bars, and contains a child defined in the same file without the Screen suffix that defines the main content.
    • The arguments should be ordered with the main content first, then top bar, bottom bar, and floating action button, with modifier last as the only optional argument.
  • Composable components should have most arguments be optional with suitable defaults for previews.
    • Order arguments in the order they are used in the UI layout.
  • Order file with Screen composable first, then the related main content, followed by any related components, with top bar, bottom bar, and floating action button last.
  • Generally pass all composable arguments like name = value instead of positional arguments.
    • Exception is Text that should be just called like Text("text") if there are no additional arguments.
  • Preview should have the background turned on in most cases and be 600 dp wide by 400 dp tall.

Naming

  • Name lambdas passed to children for navigating as navRoute where Route is the name of the route in the navigation graph without the Route suffix, or a suitable descriptive alternative if the destination is not just a simple destination route.
    • Example: navAddToDo to navigate to form to add a to-do.
  • Name lambdas that will take an action without a prefix.
    • Example: addToDo to submit the data for a new to-do.
  • Use the on prefix for other lambdas that are passed down to children composeables that respond to an action being taken.
    • Example: onAddedToDo to take action after a to-do is added.