⏰ Smart Alarm — Aplikasi Alarm Android Modern Smart Alarm adalah aplikasi alarm Android modern yang membantu pengguna bangun lebih efektif dan konsisten melalui fitur cerdas seperti shake to stop, gradual volume, statistik penggunaan, dan preset alarm siap pakai. Aplikasi ini dirancang dengan antarmuka modern, performa ringan, serta arsitektur bersih agar mudah dikembangkan dan dipelajari. 🎯 Fitur Utama ✨ Fitur Alarm Smart Alarm mendukung pembuatan banyak alarm tanpa batas, pengaturan jadwal berulang (Senin–Minggu), label alarm kustom, serta fitur snooze untuk menunda alarm dengan mudah. 🤚 Shake to Stop Alarm dapat dimatikan dengan menggoyangkan perangkat menggunakan sensor accelerometer. Tingkat kesulitan dapat diatur (level 1–5) dan dilengkapi dengan progress bar sebagai umpan balik visual. 📈 Gradual Mode Volume alarm meningkat secara bertahap sesuai durasi yang ditentukan untuk memberikan pengalaman bangun yang lebih halus dan nyaman. 📊 Statistics Aplikasi mencatat riwayat alarm, metode penghentian alarm, jumlah snooze, serta durasi rata-rata alarm berbunyi. 🎨 Preset Alarms Tersedia 6 preset alarm bawaan: Morning (06:30 – Weekdays) Work Start (08:00 – Weekdays) Lunch (12:00 – Weekdays) Afternoon Nap (14:00) Evening (18:00 – Weekdays) Night (22:00) 🏗️ Arsitektur Proyek ini menggunakan Clean Architecture dengan pola MVVM, sehingga kode terstruktur, mudah diuji, dan mudah dikembangkan. Struktur direktori utama: data/ (Room Database, DataStore, Repository) domain/ (Use Case & Business Logic) service/ (Background Service) ui/ (Alarm, Statistik, Komponen UI) viewmodel/ (ViewModel) utils/ (Helper & Utility) 🛠️ Tech Stack Language: Kotlin Architecture: MVVM + Clean Architecture Database: Room Preferences: DataStore UI: Material Design 3 Navigation: Navigation Component Concurrency: Coroutines + Flow Dependency Injection: Manual (dapat di-upgrade ke Hilt/Koin) Charts: MPAndroidChart 📦 Dependencies Menggunakan Android Jetpack dan library populer seperti: androidx core & appcompat Material Design Lifecycle ViewModel & LiveData Navigation Component Room Database DataStore Preferences MPAndroidChart 🚀 Instalasi Clone repository git clone https://gitlab.com/username/smart-alarm.git Buka proyek di Android Studio File → Open → pilih folder proyek Tunggu Gradle Sync selesai Jalankan aplikasi Klik Run (▶️) dan pilih device atau emulator ⚙️ Konfigurasi Minimum requirements: Android 8.0 (API 26) Target Android 14 (API 34) Kotlin 1.9.0+ Gradle 8.0+ Permissions yang digunakan: POST_NOTIFICATIONS SCHEDULE_EXACT_ALARM VIBRATE WAKE_LOCK RECEIVE_BOOT_COMPLETED 🧪 Testing Menjalankan instrumentation test: ./gradlew connectedAndroidTest 📄 License Project ini menggunakan MIT License. Silakan gunakan, modifikasi, dan distribusikan sesuai ketentuan lisensi. 👨‍💻 Author Lalu Muhammad Anggan Subhan (202310715277) Muhammad Rafly Al-Fathir (202310715043) Rafi Fattan Fitriardi (202310715002) 📌 Attribution & Credit Jika Anda melakukan clone, fork, atau pengembangan lanjutan dari proyek ini, WAJIB mencantumkan kredit kepada pengembang asli di README atau dokumentasi proyek turunan. 🙏 Acknowledgments Material Design Icons, MPAndroidChart Library, Android Jetpack Libraries, dan komunitas Stack Overflow. ✨ Smart Alarm — Wake up smarter, not harder.