RafiFattan23 ee76fb5050 polish
2026-01-09 09:38:32 +07:00
2025-12-31 19:41:36 +07:00
2025-12-31 19:41:36 +07:00
2025-12-28 20:38:37 +07:00
2025-12-28 20:38:37 +07:00
2025-12-28 20:38:37 +07:00
2025-12-28 20:38:37 +07:00
2025-12-28 20:38:37 +07:00
2025-12-28 20:38:37 +07:00
2026-01-09 09:38:32 +07:00
2025-12-28 20:38:37 +07:00

Smart Alarm - Aplikasi Alarm Android Modern Aplikasi alarm Android yang canggih dengan fitur-fitur lanjutan seperti shake to stop, gradual volume, statistik, dan preset alarm. 🎯 Fitur Utama Fitur Alarm

Multiple Alarms - Buat alarm sebanyak yang kamu mau Repeat Schedule - Atur alarm berulang per hari (Senin-Minggu) Custom Labels - Beri nama setiap alarm Snooze Function - Tunda alarm dengan mudah

🤚 Shake to Stop

Intelligent Shake Detection - Gunakan accelerometer untuk deteksi goyangan Adjustable Intensity - Atur tingkat kesulitan (1-5) Visual Feedback - Progress bar saat shake

📈 Gradual Mode

Progressive Volume - Volume meningkat bertahap Customizable Duration - Atur durasi peningkatan volume Smooth Wake Up - Bangun dengan lembut

📊 Statistics

Alarm History - Rekam semua alarm yang berbunyi Stop Method Tracking - Lihat bagaimana alarm dimatikan Snooze Count - Hitung berapa kali snooze Average Duration - Waktu rata-rata alarm berbunyi

🎨 Preset Alarms

6 Preset 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: ├── data/ # Data layer │ ├── db/ # Room Database │ ├── datastore/ # DataStore preferences │ ├── model/ # Data models │ └── repository/ # Repository pattern ├── domain/ # Business logic │ ├── usecase/ # Use cases │ └── mapper/ # Data mappers ├── service/ # Background services ├── ui/ # Presentation layer │ ├── alarm/ # Alarm screens │ ├── statistics/ # Statistics screen │ └── components/ # Reusable components ├── viewmodel/ # ViewModels └── utils/ # Utility classes 🛠️ Tech Stack

Language: Kotlin Architecture: MVVM + Clean Architecture Database: Room Preferences: DataStore UI: Material Design 3 Navigation: Navigation Component Concurrency: Coroutines + Flow DI: Manual (bisa upgrade ke Hilt/Koin) Charts: MPAndroidChart

📦 Dependencies gradle// Core implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.11.0")

// Lifecycle & ViewModel implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.7.0")

// Navigation implementation("androidx.navigation:navigation-fragment-ktx:2.7.6")

// Room Database implementation("androidx.room:room-runtime:2.6.1") kapt("androidx.room:room-compiler:2.6.1")

// DataStore implementation("androidx.datastore:datastore-preferences:1.0.0")

// Charts implementation("com.github.PhilJay:MPAndroidChart:v3.1.0") 🚀 Instalasi

  1. Clone Repository bashgit clone https://gitlab.com/username/smart-alarm.git cd smart-alarm
  2. Open di Android Studio

File → Open → Pilih folder proyek Tunggu Gradle sync selesai

  1. Build & Run

Klik tombol Run (▶️) Pilih device/emulator Aplikasi akan terinstall otomatis

⚙️ Konfigurasi Minimum Requirements

Android Version: Android 8.0 (API 26) Target Version: Android 14 (API 34) Kotlin: 1.9.0+ Gradle: 8.0+

Permissions Aplikasi memerlukan permission berikut:

POST_NOTIFICATIONS - Untuk notifikasi alarm SCHEDULE_EXACT_ALARM - Untuk alarm tepat waktu VIBRATE - Untuk getaran WAKE_LOCK - Untuk membangunkan device RECEIVE_BOOT_COMPLETED - Untuk reschedule setelah reboot

Instrumentation Tests

./gradlew connectedAndroidTest

📄 License This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

Lalu Muhammad Anggan Subhan (202310715277) Muhammad Rafly Al-Fathir (202310715043) Rafi Fattan Fitriardi (202310715002)

🙏 Acknowledgments

Material Design Icons MPAndroidChart library Android Jetpack libraries Stack Overflow community

Description
No description provided
Readme 523 KiB
Languages
Kotlin 100%