159 lines
3.3 KiB
Markdown
159 lines
3.3 KiB
Markdown
# 💧🏃 Step & Drink
|
|
|
|
Aplikasi Android untuk tracking langkah harian dan asupan air minum.
|
|
|
|
[](https://kotlinlang.org)
|
|
[](https://developer.android.com/jetpack/compose)
|
|
[](https://developer.android.com)
|
|
|
|
---
|
|
|
|
## 📱 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
|
|
|
|
```bash
|
|
# 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
|
|
1. Buka aplikasi
|
|
2. Masuk ke Profile
|
|
3. Input data pribadi & set target
|
|
|
|
### Track Langkah
|
|
1. Buka halaman Steps
|
|
2. Tap tombol Start
|
|
3. Mulai berjalan
|
|
|
|
### Track Air
|
|
1. Buka halaman Water
|
|
2. Tap container (contoh: 🚰 600ml)
|
|
3. Atau klik "Input Custom" untuk jumlah lain
|
|
|
|
### Aktifkan Reminder
|
|
1. Buka halaman Water
|
|
2. Toggle "Pengingat Minum" ke ON
|
|
3. Izinkan permission notifikasi
|
|
|
|
---
|
|
|
|
## ⚙️ Konfigurasi
|
|
|
|
Ubah settings reminder di `WaterReminderManager.kt`:
|
|
```kotlin
|
|
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](https://github.com/HagaDalpintoGinting)
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
MIT License © 2025
|
|
|
|
--- |