Skip to content

A lightweight Habit Tracker Android app. MVVM, Jetpack Compose, Multimodule Clean Architecture, Kotlin Flow, Coroutines, Room

Notifications You must be signed in to change notification settings

pgrzel/Habit-Tracker

Repository files navigation

Main_Screen

Habit-Tracker

A lightweight habit tracker app that helps users track their habits and notifies them about upcoming goals.
Graphics designed by Freepik

Status

The application is currently under development, but its key features are fully functional.

Features:

Implemented:

  • User onboarding
  • Habit tracking
  • Adding, editing, and deleting habits
  • Archiving habits
  • Setting daily effort states
  • Daily statistics
  • Progress charts
  • All habit list
  • Application settings
  • Light and dark mode
  • Material3 components
  • Unit tests

In progress:

  • Notifications

Upcoming:

  • Chart fixes

Details

Architecture

  • Implements the MVVM pattern
  • Multimodule clean architecture, consisting of the following modules:
    • app: The main Android application module, serving as the controller for all other modules. Responsible for configuration, navigation, and overall orchestration.
    • base: Provides basic implementations for ViewModel, UiState, UseCase, Result, and other foundational elements.
    • common:
      • ui: Contains strings, icons, and commonly used UI composables.
      • utils: A utility module for shared helper functions and tools.
    • component: The main module for components. Handles domain and data logic specific to business requirements.
    • feature: Dedicated modules for features. Focuses on the UI layer of the application.
    • source: Modules for data sources, such as databases or caches.

Technologies

  • Fully written in Jetpack Compose
  • Room Database
  • ViewModel
  • Kotlin Flow
  • Kotlin Coroutines
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy