A modern, low-power Android application for tracking sleep duration, built with the latest Jetpack Compose and Material 3 guidelines.
- Duration-based Tracking: Start and stop sleep sessions manually or via notification controls.
- Health Connect Integration: Seamlessly sync your sleep data with Android's Health Connect ecosystem.
- Bedtime Reminders: Set scheduled reminders to maintain a consistent sleep routine.
- Room Persistence: Local database storage for all your sleep history.
- Modern UI: Fully declarative UI built with Jetpack Compose and Material 3.
- Privacy First: All data is stored locally and only shared with Health Connect if explicitly enabled.
- Language: Kotlin
- UI Framework: Jetpack Compose with Material 3
- Database: Room
- Preferences: Jetpack DataStore
- Health Data: Health Connect Client
- Testing:
- Unit tests with Robolectric
- Screenshot testing with Roborazzi
- Coverage reporting with Kover
To stay updated with the latest versions, we recommend using Obtainium.
- Install Obtainium on your Android device.
- Open Obtainium and tap "Add App".
- Paste this repository's URL:
https://github.com/felixbrucker/simple-sleep-tracker - Obtainium will notify you and help you install updates automatically whenever a new build is available on GitHub.
You can find the latest APKs in the Releases section.
- Android Studio Ladybug (or newer)
- Android SDK 37
- JDK 25
# Run unit tests
./gradlew test
# Build debug APK
./gradlew assembleDebug
# Generate coverage report
./gradlew koverHtmlReportThis project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.