diff --git a/README.md b/README.md new file mode 100644 index 0000000..b4f9cf7 --- /dev/null +++ b/README.md @@ -0,0 +1,191 @@ +Step & Drink +Aplikasi Android untuk tracking langkah harian dan kebutuhan air minum menggunakan Kotlin dan Jetpack Compose. + +📋 Deskripsi +Step & Drink adalah aplikasi mobile yang membantu pengguna untuk: + +Melacak langkah harian menggunakan sensor step counter bawaan smartphone +Mencatat asupan air minum untuk memenuhi kebutuhan hidrasi harian +Menetapkan dan memantau target langkah dan air minum yang dapat disesuaikan +Melihat riwayat aktivitas untuk evaluasi kebiasaan sehat + +Aplikasi ini dibuat sebagai tugas akhir mata kuliah Pemrograman Bergerak dengan fokus pada penggunaan sensor hardware, database lokal, dan multi-halaman navigation. + +✨ Fitur +1. Home Screen + +Dashboard dengan ringkasan aktivitas hari ini +Card interaktif untuk langkah dan air minum +Progress bar visual untuk tracking target +Greeting dengan nama pengguna + +2. Step Tracker + +Real-time tracking langkah menggunakan sensor TYPE_STEP_COUNTER +Start/Stop tracking dengan tombol floating action button +Riwayat langkah 7 hari terakhir +Target langkah yang dapat disesuaikan + +3. Water Tracker + +Quick add buttons (250ml, 500ml, 1000ml) +Input custom untuk jumlah air +Riwayat minum harian dengan timestamp +Hapus record jika salah input +Target air minum yang dapat disesuaikan + +4. Profile & Settings + +Edit nama pengguna +Ubah target langkah harian +Ubah target air minum harian +Informasi aplikasi + + +🛠️ Teknologi +Bahasa & Framework + +Kotlin - Bahasa pemrograman +Jetpack Compose - UI Framework +Material Design 3 - Design system + +Architecture + +MVVM (Model-View-ViewModel) +Repository Pattern +Clean Architecture + +Database & Storage + +Room Database - Local database (SQLite) +DataStore Preferences - Settings storage + +Components + +Navigation Compose - Multi-halaman navigation +Sensor Manager - Akses hardware sensor (Step Counter) +ViewModel - State management +Kotlin Flow - Reactive data stream +Coroutines - Asynchronous operations + + +📦 Struktur Project +stepdrink/ +├── data/ +│ ├── local/ +│ │ ├── entity/ # StepRecord, WaterRecord +│ │ ├── dao/ # StepDao, WaterDao +│ │ ├── database/ # AppDatabase +│ │ └── PreferencesManager.kt +│ └── repository/ # StepRepository, WaterRepository +├── ui/ +│ ├── screen/ # HomeScreen, StepsScreen, WaterScreen, ProfileScreen +│ ├── navigation/ # Navigation setup +│ ├── components/ # Reusable UI components +│ └── theme/ # App theming +├── viewmodel/ # StepViewModel, WaterViewModel, ProfileViewModel +├── sensor/ # StepCounterManager +├── util/ # DateUtils +└── MainActivity.kt + +🗄️ Database +step_records +Menyimpan data langkah harian + +id - Primary key +date - Tanggal (yyyy-MM-dd) +steps - Jumlah langkah +timestamp - Waktu pencatatan + +water_records +Menyimpan data minum air + +id - Primary key +date - Tanggal (yyyy-MM-dd) +amount - Jumlah air (ml) +timestamp - Waktu pencatatan + +Preferences (DataStore) +Menyimpan pengaturan pengguna + +user_name - Nama pengguna +step_goal - Target langkah harian +water_goal - Target air minum harian (ml) + + +🚀 Instalasi +Requirements + +Android Studio (versi terbaru) +Minimum SDK: API 26 (Android 8.0) +Kotlin 1.9.22 + +Cara Menjalankan + +Clone atau download project +Buka di Android Studio +Sync Gradle (File → Sync Project with Gradle Files) +Build project (Build → Make Project) +Run di device atau emulator +Izinkan permission ACTIVITY_RECOGNITION saat diminta + + +📱 Cara Penggunaan + +Tracking Langkah + +Buka Step Tracker +Klik tombol Play +Izinkan permission +Mulai berjalan +Data otomatis tersimpan + + +Catat Air Minum + +Buka Water Tracker +Klik quick add atau tombol + +Input jumlah air +Data tersimpan dengan timestamp + + +Ubah Target + +Buka Profile +Klik card yang ingin diubah +Input nilai baru +Simpan + + + + +🎯 Tujuan Project +Project ini dibuat untuk memenuhi tugas akhir mata kuliah Pemrograman Bergerak dengan requirements: + +✅ Multi-halaman (4 screens) +✅ Penggunaan sensor (Step Counter) +✅ Database lokal (Room) +✅ IDE Android Studio +✅ Bahasa Kotlin +✅ UI Framework Jetpack Compose + + +👨‍💻 Developer +Nama: [Nama Kamu] +NIM: [NIM Kamu] +Mata Kuliah: Pemrograman Bergerak +Institusi: [Nama Universitas] +Tahun: 2025 + +📝 Catatan + +Aplikasi memerlukan device dengan sensor step counter untuk fitur tracking langkah +Emulator Android biasanya tidak memiliki sensor step counter +Data disimpan secara lokal di device +Aplikasi masih dalam tahap pengembangan dan dapat dikembangkan lebih lanjut + + +📄 License +MIT License - Copyright (c) 2025 + +Made with Kotlin & Jetpack Compose