πŸ“¦ longregen / moodtracker

β˜… 0 stars β‘‚ 0 forks πŸ‘ 0 watching
πŸ“₯ Clone https://github.com/longregen/moodtracker.git
HTTPS git clone https://github.com/longregen/moodtracker.git
SSH git clone git@github.com:longregen/moodtracker.git
CLI gh repo clone longregen/moodtracker
github-actions[bot] github-actions[bot] release: v2.0.1 (#38) 9f15106 23 days ago πŸ“ History
πŸ“‚ main View all commits β†’
πŸ“ .github
πŸ“ .idea
πŸ“ app
πŸ“ gradle
πŸ“„ .gitignore
πŸ“„ ARCHITECTURE.md
πŸ“„ build.gradle.kts
πŸ“„ flake.lock
πŸ“„ flake.nix
πŸ“„ gradlew
πŸ“„ local.properties
πŸ“„ logo.svg
πŸ“„ README.md
πŸ“„ shell.nix
πŸ“„ README.md

πŸ“± MoodTracker

Android app for tracking mood, habits, and personal metrics through scheduled daily prompts

Android Kotlin Jetpack Compose


🌟 Features

  • Scheduled notifications β€” Configurable daily prompts at times you choose
  • Multiple question types β€” Text, yes/no, numeric, and multiple-choice
  • Local storage β€” All data stays on your device
  • Dark/light mode β€” Material Design 3 theming
  • Persistent β€” Notifications survive restarts and battery optimization
  • Log views β€” Timeline, by-question, and per-question history

ℹ️ Overview

MoodTracker prompts you with questions throughout the day and stores your responses locally. You define the questions, answer types, and notification schedule. The app provides several views for reviewing your logged data over time.


πŸš€ Quick Start

Installation

  • Download app-release.apk from Releases
  • Enable "Install from Unknown Sources" in Android settings
  • Install and grant notification permissions
Requirements: Android 7.0+ (API 24) β€’ ~11MB storage

Setup

  • Open the configuration tab and add questions
  • Set notification times in settings
  • Respond to prompts as they appear
  • Review responses in the logs section

🎯 Question Examples

QuestionTypeUse Case
"How is your mood?"Multiple choiceMood tracking
"Did you exercise today?"Yes/NoHabit tracking
"Hours at the computer?"NumberTime tracking
"Notes for the day"TextJournaling

πŸ› οΈ Technical Details

Technology Stack

ComponentTechnology
LanguageKotlin
UI FrameworkJetpack Compose + Material Design 3
DatabaseRoom (SQLite)
Background TasksWorkManager
Date/Timekotlinx-datetime
ArchitectureMVVM with Repository pattern

Project Structure

app/src/main/java/com/moodtracker/
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ database/          # Room database, DAOs
β”‚   β”œβ”€β”€ models/            # Data classes
β”‚   └── repository/        # Data access layer
β”œβ”€β”€ services/              # Background services, notifications
β”œβ”€β”€ ui/
β”‚   β”œβ”€β”€ answer/            # Question answering interface
β”‚   β”œβ”€β”€ config/            # Configuration screens
β”‚   β”œβ”€β”€ logs/              # Logging and analytics
β”‚   β”œβ”€β”€ main/              # Main dashboard
β”‚   └── theme/             # UI theming
└── utils/                 # Utility functions

Required Permissions

  • POST_NOTIFICATIONS β€” Display notifications
  • SCHEDULE_EXACT_ALARM β€” Precise timing
  • RECEIVE_BOOT_COMPLETED β€” Resume after restart
  • WAKE_LOCK β€” Background reliability

Building from Source

git clone https://github.com/your-username/moodtracker.git
cd moodtracker

# Requires Android SDK and JDK 17+
./gradlew assembleDebug


πŸ”’ Privacy

  • All data stored locally on device
  • No external servers or analytics
  • No account required

πŸ—ΊοΈ Roadmap

  • Data export (CSV/JSON)
  • Analytics dashboard with charts
  • Cloud backup & sync
  • Home screen widgets
  • Localization

πŸ’­ Contributing

  • Issues β€” Report bugs or request features via GitHub Issues
  • Pull Requests β€” Contributions welcome

πŸ“„ License

Open source. Free to use and modify.


Version 1.0.0 β€’ Android 7.0+ β€’ ~11MB