{"repo":"ofalvai/HabitBuilder","free":true,"listed":false,"github":"https://github.com/ofalvai/HabitBuilder","clone":"git clone https://github.com/ofalvai/HabitBuilder.git","description":"A simple and clean app with the right tools to keep track of habits and understand progress.","language":"Kotlin","stars":290,"topics":["android","habit-tracking","habits","jetpack-compose","kotlin"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Habit Builder --- --- --- --- Motivation I needed a simple and minimal habit tracking app, so I decided to create my own. This project is also a testing ground for new technologies I'd like to explore. Features - Keep track of new habits and see your progress - Statistics: aggregate and per-habit stats - Per-habit: completion rate, weekly and overall count, streaks - Overall: calendar heatmap, top habits, top days for habits - Customizable habit list layout, reorderable list - All data is persisted on-device in a database - Export, import, archiving of old items 🛠 Built with - Compose-only UI: - Based on Material3, supports dynamic color - Light and dark theme - Smooth and delightful animations - No AppCompat dependency, single Activity - Room: for storing data locally - Kotlin Coroutines + Flow: for async operations - Testing: - Unit tests for most of the business logic (ViewModels, mappings, etc.) - Instrumented tests for DB operations - UI tests for some Compose screens - Kotlin Flow testing with Turbine - Showkase: UI component browser in debug builds - Other interesting bits and integrations: - Modular codebase according to best practices - Gradle convention plugins for configuring modules - Licensee: 3rd party dependency validation, license report JSON for the Licenses screen - Ruler: a Gradle plugin that measures app size and libraries contributing to it - Gradle version catalog - Renovate: Automating dependency update PRs (works with Gradle version catalogs!) - Gradl","default_branch":null,"files":null,"tree":[],"storefront":"/r/ofalvai","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ofalvai/HabitBuilder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}