3.3 KiB
3.3 KiB
💧🏃 Step & Drink
Aplikasi Android untuk tracking langkah harian dan asupan air minum.
📱 Tentang
Step & Drink membantu kamu menjaga kesehatan dengan:
- 🏃 Step Counter - Track langkah harian secara real-time
- 💧 Water Tracker - Catat asupan air dengan mudah
- ⏰ Smart Reminder - Notifikasi otomatis untuk minum teratur
- 📊 Progress Monitor - Lihat pencapaian target harian
✨ Fitur Utama
Step Counter
- Real-time tracking dengan hardware sensor
- Target harian (default 10,000 langkah)
- History 7 hari
- Start/Stop control
Water Tracker
Pilihan container cepat:
- 🥛 Gelas Kecil (200ml)
- 💧 Gelas Sedang (250ml)
- 🌊 Gelas Besar (350ml)
- 🚰 Botol Aqua (600ml)
- 🫗 Tumbler (500ml)
Plus input custom & history lengkap.
Smart Reminder
- Notifikasi otomatis setelah 3 jam tidak minum
- Aktif jam 06:00 - 22:00
- Battery efficient
- Bisa di-toggle ON/OFF
Profile
- Input nama & berat badan
- Set target langkah & air harian
- Data tersimpan lokal
🛠️ Teknologi
Core:
- Kotlin 100%
- Jetpack Compose
- Material Design 3
Architecture:
- MVVM Pattern
- Room Database
- DataStore Preferences
- WorkManager
- Coroutines & Flow
🚀 Instalasi
# Clone repository
git clone https://github.com/HagaDalpintoGinting/Steps-Drink.git
# Buka di Android Studio
# Sync Gradle
# Run aplikasi
Requirements:
- Android Studio (latest)
- Min SDK 26 (Android 8.0)
- Device dengan step counter sensor (untuk fitur langkah)
📖 Penggunaan
Setup
- Buka aplikasi
- Masuk ke Profile
- Input data pribadi & set target
Track Langkah
- Buka halaman Steps
- Tap tombol Start
- Mulai berjalan
Track Air
- Buka halaman Water
- Tap container (contoh: 🚰 600ml)
- Atau klik "Input Custom" untuk jumlah lain
Aktifkan Reminder
- Buka halaman Water
- Toggle "Pengingat Minum" ke ON
- Izinkan permission notifikasi
⚙️ Konfigurasi
Ubah settings reminder di WaterReminderManager.kt:
const val CHECK_INTERVAL_MINUTES = 30L // Interval cek
const val REMIND_AFTER_HOURS = 3 // Reminder setelah X jam
const val ACTIVE_START_HOUR = 6 // Jam mulai
const val ACTIVE_END_HOUR = 22 // Jam selesai
📝 Catatan
Tested on: Samsung Galaxy A35 5G (Android 14)
Limitations:
- Step counter butuh device fisik (emulator tidak support)
- Data tersimpan lokal saja
- Reminder bergantung pada battery optimization device
Troubleshooting:
- Steps tidak terhitung? Pastikan permission ACTIVITY_RECOGNITION diizinkan
- Reminder tidak muncul? Check permission POST_NOTIFICATIONS dan pastikan jam aktif
🎓 Project
Tugas Akhir Pemrograman Bergerak dengan requirement:
- ✅ Multi-screen
- ✅ Hardware sensor
- ✅ Local database
- ✅ Kotlin & Jetpack Compose
👨💻 Developer
Haga Dalpinto Ginting
GitHub: @HagaDalpintoGinting
📄 License
MIT License © 2025
Made with ❤️ using Kotlin & Jetpack Compose