Skip to content

pchen50/Habit-RPG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Habit-RPG

Habit RPG is a mobile habit tracking app built with Kotlin and Jetpack Compose that gamifies daily productivity. Users create habits with different schedules (everyday, weekends, weekly, or custom days), complete them from a daily dashboard, and earn XP to level up. The app includes daily and weekly quests that reward bonus XP, a history log of completed habits, and reminder notifications for unfinished habits. The goal is to make habit building feel more engaging by incorporating light RPG-style progression mechanics.

Figma Design

https://www.figma.com/design/YhIuExvyT5oUcVTdDKJgqy/CSC-436-Project-%7C-UI-and-design-theme?node-id=2002-2&t=2I9nk1yOmQUyD0Ql-1

The design includes low-fidelity layouts for the main screens (some are outdated like the Add/Create habit screen, which is now the HabitListScreen and the Profile page, which is now the History Screen)

Android & Jetpack Compose Features Used

Jetpack Compose UI

  • Composable functions
  • LazyColumn for scrollable lists
  • Material 3 components (TopAppBar, Card, Buttons, Dialogs)
  • Navigation with NavHost and composable routes
  • Animated XP progress bar using Compose animation APIs
  • Custom Material theme generated with Material Theme Builder

Architecture

  • MVVM architecture
  • Shared ViewModel across screens
  • State management using Compose state and Flow

Persistence

  • Room Database
    • Entities
    • DAOs
    • Repository
    • Persistent storage of habits, completion history, and quest rewards
  • Database automatically updates UI using Flow.

Background Work

  • WorkManager
    • Background worker checks for incomplete habits
    • Sends reminder notifications to the user

Notifications

  • Notification channels
  • Runtime notification permission (Android 13+)
  • System notifications reminding users about unfinished habits

Other Compose Features

  • Dialog-based habit creation/editing
  • Dropdown menus for habit actions
  • Custom frequency selection and day-of-week chips

Device Requirements

  • Android SDK API 26+ (for notification channels)
  • Notification permission on Android 13+
  • Background work support through WorkManager
  • The app runs entirely on-device and does not require internet access.

Additional features implemented

  • Animated XP progress bar
  • Habit completion state tracking with daily reset logic
  • Daily/Weekly quest progress tracking with database
  • Background reminder notifications using WorkManager
  • Persistent quest reward tracking

About

Habit Tracker App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages