No description
Find a file
firebadnofire 29d92eb6d4
Merge pull request #4 from firebadnofire/codex/add-hamburger-menu-with-export-and-import
Add navigation drawer for JSON import/export and Material You toggle
2026-01-10 09:26:42 -05:00
app Add drawer menu for import export and Material You 2026-01-10 09:23:13 -05:00
gradle Add milestone reset and confirmations 2026-01-09 21:59:26 -05:00
.gitignore commit 2026-01-09 21:36:11 -05:00
appicon.png commit 2026-01-09 22:27:50 -05:00
build.gradle.kts commit 2026-01-09 21:36:11 -05:00
gradle.properties commit 2026-01-09 21:36:11 -05:00
gradlew commit 2026-01-09 21:36:11 -05:00
gradlew.bat commit 2026-01-09 21:36:11 -05:00
LICENSE commit 2026-01-09 21:36:11 -05:00
README.md commit 2026-01-09 22:27:50 -05:00
settings.gradle.kts commit 2026-01-09 21:36:11 -05:00

# Milestones

Milestones is a simple Android app for tracking the days since (or until) meaningful events such as habits, anniversaries, or personal goals. You can add milestones with a name and start date, then reset or remove them as needed.

## Features

- Add milestones with a name and start date.

- See the number of days since each milestone (or days until it starts).

- Reset a milestone to start counting from today.

- Remove milestones with confirmation.

- Data persists locally using SharedPreferences.

## Tech stack

- Kotlin + AndroidX

- RecyclerView + ViewBinding

- Local JSON storage via SharedPreferences

## Getting started

### Prerequisites

- Android Studio (latest stable recommended)

- Android SDK 24+ (project targets SDK 36)

- JDK 11

### Run the app

1. Open this repository in Android Studio.

2. Let Gradle sync.

3. Choose an emulator or device.

4. Click **Run**.

### Build from the command line


./gradlew assembleDebug

### Run tests


./gradlew test

## Project structure

- app/src/main/java/org/archuser/milestones/MainActivity.kt: Main UI and interaction flow.

- app/src/main/java/org/archuser/milestones/MilestoneAdapter.kt: RecyclerView adapter for milestone rows.

- app/src/main/java/org/archuser/milestones/MilestoneStorage.kt: JSON encoding/decoding for local persistence.

- app/src/main/res/layout/: Layouts for the main screen and list items.

## License

See [LICENSE](LICENSE).