Skip to content

feat: initial Android app — choreDash + taskDash v1.0.0#1

Merged
mapgie merged 7 commits into
mainfrom
claude/elegant-heisenberg-lZ3zy
May 31, 2026
Merged

feat: initial Android app — choreDash + taskDash v1.0.0#1
mapgie merged 7 commits into
mainfrom
claude/elegant-heisenberg-lZ3zy

Conversation

@mapgie
Copy link
Copy Markdown
Owner

@mapgie mapgie commented May 30, 2026

Summary

  • Full native Android app (Kotlin 2.0.21 + Jetpack Compose) combining choreDash and taskDash, connecting to the same Supabase project as the web app
  • choreDash tab: chore list with staleness colour bars, NFC tap-to-log, swipe-to-log with undo snackbar, group-by-category, archive/unarchive via long-press sheet
  • taskDash tab: task list with priority/due/created sort, All/Active/Done filter chips, group-by-category, collapsible done section, per-task AlarmManager reminders (exact alarms), owner filter
  • Settings tab: Supabase URL + anon-key, owner dropdown, light/dark/system theme toggle, open-source licenses screen
  • NFC foreground dispatch in MainActivity; NDEF text/URI/raw-hex tag-ID extraction
  • DailyStaleChoreWorker (WorkManager periodic): daily overdue-chore notification
  • BootWorker: re-schedules pending task reminders after reboot
  • Material3 theme seeded from #4A7C59 (sage green), no hardcoded colours in typography
  • CI workflows: build + release APK, changelog check, license-sync check, CodeQL

What's not in this PR (binary files — must be added locally)

app/debug.keystore and gradle/wrapper/gradle-wrapper.jar are binary files that cannot be pushed via the GitHub API. Add them before building:

git clone https://github.com/mapgie/choreDash-Android
cd choreDash-Android
git checkout claude/elegant-heisenberg-lZ3zy
# Copy gradle-wrapper.jar from any other Android project, or download from gradle.org
# Generate a debug keystore:
keytool -genkey -v -keystore app/debug.keystore -alias androiddebugkey \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -storepass android -keypass android -dname "CN=Android Debug,O=Android,C=US"
git add app/debug.keystore gradle/wrapper/gradle-wrapper.jar
git commit -m "chore: add binary files (debug.keystore, gradle-wrapper.jar)"
git push

Test plan

  • Binary files added locally and pushed
  • ./gradlew assembleDebug succeeds
  • ./gradlew test passes
  • ./gradlew lintDebug clean
  • Install on device, enter Supabase credentials in Settings
  • Chores tab loads and shows staleness bars
  • Swipe-to-log logs a chore and shows Undo snackbar
  • NFC scan opens LogBottomSheet for matching chore
  • Tasks tab loads, add/edit/complete a task
  • Task reminder fires at scheduled time
  • Theme toggle (light/dark/system) applies immediately

Generated by Claude Code

mapgie added 7 commits May 31, 2026 00:46
Gradle wrapper (8.13), version catalog, app build config, data models,
repositories, SupabaseClientProvider, SettingsRepository.
…ompatibility

Material3 1.3.0 (BOM 2024.09.00) deprecated menuAnchor() without a type
parameter at DeprecationLevel.ERROR — calling it without MenuAnchorType
fails compilation. Updated all three call sites:
- EditChoreSheet: readOnly field → PrimaryNotEditable
- SettingsScreen: editable owner field → PrimaryEditable
- EditTaskSheet: editable category + owner fields → PrimaryEditable
@mapgie mapgie merged commit 046178b into main May 31, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant