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

6.9 KiB
Raw Permalink Blame History

 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.