You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 28, 2026. It is now read-only.
Tugas Besar 1 IF3210 - Pengembangan Aplikasi Piranti Bergerak
Deskripsi Aplikasi
Purrytify merupakan sebuah aplikasi android native yang dikembangkan dengan bahasa pemrograman Kotlin. Aplikasi ini menyediakan berbagai fungsionalitas terkait music player dengan tampilan berbasis Jetpack Compose.
Spesifikasi SDK
Minimum SDK: Android 10 (API Level 29)
Target SDK: Android 13 (API Level 34)
Compile SDK: Android 13 (API Level 34)
Fitur Utama
Log in ke sebuah akun yang sudah terdaftar
Melihat profil pengguna yang berisi identitas, banyak lagu yang dimiliki, banyak lagu yang disukai, dan banyak lagu yang sudah didengarkan
Memasukkan lagu ke library berdasarkan akun yang terautentikasi
Mengatur playlist lagu berdasarkan daftar lagu yang ada pada library, liked song, recently played, atau newly added
Pemutar lagu dengan fitur seek to, play/pause, next/previous, shuffle, repeat one/all, like, dan edit song
Mini player dengan fitur seek to, play/pause, dan like song
Background service untuk melakukan reautentikasi ketika JWT kadaluarsa
Network sensing untuk mendeteksi kehilangan sinyal pada saat menggunakan aplikasi
Notification untuk menampilkan lagu yang sedang diputar sekaligus player control
Top songs untuk melihat top 50 lagu global dan top 10 lagu di negara lokasi pengguna
Download online songs untuk mengunduh lagu-lagu yang ada pada top songs
Share Songs using DeepLink & QR untuk membagikan lagu ke pengguna lain
Edit profile untuk mengubah identitas pengguna
Rekomendasi lagu berdasarkan lagu yang disukai pengguna
Sound capsule untuk melihat statistik penggunaan aplikasi User
External Audio Routing untuk mengubah output audio ke perangkat yang diinginkan
Daftar Library
Hilt untuk dependency injection
Jetpack Compose untuk UI
MediaPlayer dari Android SDK untuk pemutar lagu
Room Database untuk penyimpanan aplikasi
Coil untuk image loading
Retrofit & OkHTTP untuk pemanggilan API
Datastore untuk menyimpan JWT
Android SDK + Kotlin Coroutine untuk network sensing
WorkManager untuk refresh JWT
leakcanary untuk mendeteksi memory leak
Vico Charts untuk menampilkan grafik pada profile pengguna
CameraX untuk mengambil gambar pada saat mengedit profil
Barcode Scanner untuk membaca QR code pada saat membagikan lagu
zxing untuk membuat QR code pada saat membagikan lagu
Play Services location untuk mendapatkan lokasi pengguna
Google Maps untuk memilih lokasi pengguna pada saat mengedit profil
Screenshot Aplikasi
Layar Log-In
Layer Home
Layar Library
Layar Profile
Layar Edit Profile
Layar Map
Layar Scan QR
Layar Media Player
Mini Player
Layer Add Song
Tampilan No Internet
Tampilan Online Songs
Tampilan Time Listened
Tampilan Top Artists
Tampilan Top Songs
Tampilan Notifikasi
Tampilan Ganti Output Audio
Pembagian Kerja
NIM
Nama
Pekerjaan
13522122
Maulvi Ziadinda Maulana
UI Login, UI Home, UI Profile, Authentication Logic, Worker Service, Song with Owner Feature, Sound Capsule, External Audio Routing
13522144
Nicholas Reymond Sihite
UI Library, UI Navigation Bar, Audio Service, Player Manager, UI Mini Player, Network Sensing (logic + UI), Notification, Top Songs, Download Online Songs
13522153
Muhammad Fauzan Azhim
UI Player, Add Songs, Player View Model, RoomDatabase, Edit songs, Share Songs using DeepLink, Share Songs using QR, Edit Profile, Recommendation