Steps-And-Drink/README.md
2026-01-11 20:43:28 +07:00

165 lines
3.3 KiB
Markdown

# 💧🏃 Step & Drink
Aplikasi Android untuk tracking langkah harian dan asupan air minum.
[![Kotlin](https://img.shields.io/badge/Kotlin-100%25-7F52FF)](https://kotlinlang.org)
[![Jetpack Compose](https://img.shields.io/badge/Jetpack_Compose-4285F4)](https://developer.android.com/jetpack/compose)
[![Min SDK](https://img.shields.io/badge/Min_SDK-26-3DDC84)](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
---
<div align="center">
Made with ❤️ using Kotlin & Jetpack Compose
</div>