6.9 KiB
⏰ 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.