SmartAlarm/README.md
RafiFattan23 760c7e614f polish
2026-01-09 09:47:39 +07:00

156 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

⏰ 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 (SeninMinggu), 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 15) 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.