APLIKASI
Currency Reminder
Deskripsi :
Aplikasi Currency Reminder merupakan aplikasi yang memberikan informasi nilai tukar mata uang secara berkala. Periode pemberian informasi muncul dalam bentuk notifikasi sesuai dengan pengaturan user, bisa setiap hari, bisa hari tertentu saja pada jam yang ditentukan. Aplikasi ini mirip sekali dengan aplikasi alarm ( lihat referensi ) namun informasi yang diberikan berupa nilai tukar mata uang.
Spesifikasi :
Aplikasi hanya memiliki 1 halaman utama yang berisi list alarm yang telah user tambahkan, setiap list item terdapat informasi kode mata uang, jam dan hari notifikasi, terdapat tombol toggle untuk mematikan dan menyalakan (Lihat gambar kiri).
Untuk detail informasi dan pengaturan menggunakan expand view (lihat gambar kanan), terdapat pilihan ringtone dan vibrate yang akan dinyalakan ketika notifikasi muncul.
Flow dan fungsionalitas mirip sekali dengan aplikasi alarm tsb, yang membedakan cuman satu halaman dan ketika waktunya tidak membunyikan alarm namun aplikasi melakukan request ke REST API Currency dan menampilkan dalam bentuk notifikasi.
Aplikasi Referensi https://play.google.com/store/apps/details?id=com.google.android.deskclock
Currency API https://www.freeforexapi.com/Home/Api
Prayer Time
Deskripsi :
Aplikasi Prayer Time merupakan aplikasi yang memberikan informasi waktu sholat sesuai dengan dengan lokasi device. Aplikasi ini berisi halaman utama dan halaman pengaturan umum, dan pengaturan waktu. Aplikasi yang kami inginkan mirip sekali dengan aplikasi Prayer Time milik kodelokus namun lebih sederhana. Informasi waktu sholat diinformasikan dengan notifikasi sesuai dengan pengaturan waktu notifikasinya.
Spesifikasi :
Tampilan aplikasi kurang lebih seperti ini, namun lebih sederhana
Untuk halaman utama berisi informasi nama lokasi, next waktu sholat dan remainingnya (Seperti gambar paling kiri), untuk list waktu sholat hanya ada 5 waktu (Informasi persis dengan gambar paling kiri), Subuh, Dzuhur, Ashar, Magrib, Isya. Jadi tidak pakai Imsak dan Terbit. Ada 2 halam perhitungan hari ini dan besok.
Untuk pengaturan notifikasi hanya ada 2 tab untuk semua waktu, Before Prayer Time dan On Payer Time. ( gambar no 2 )
Untuk jenis notifikasi cuman ada 3 : None, Standar Notifikasi, dan Adzan ( gambar no 2 )
Untuk Halaman Pengaturan 2 menu : Metode penghitungan sholat, Koreksi Waktu Manual ( gambar no 3 )
Koordinat lokasi menggunakan koordinat static/hardcode yang ditulis dalam Constant. Jadi silahkan untuk nama lokasi menggunakan nama dummy.
Aplikasi Referensi https://play.google.com/store/apps/details?id=com.kodelokus.prayertime
Library Prayer Time : https://github.com/batoulapps/adhan-java , disarankan untuk menggunakan library ini, namun jika ada library lain yang mudah dan offline silahkan diusulkan ke kami.
KETENTUAN UMUM
JAVA
- Diharapkan penulisan code serapih mungkin
- Dalam penamaan variable, class yang benar. Harus mengikuti panduan java : https://www.javatpoint.com/java-naming-conventions
- Penamaan harus menggunakan bahasa inggris
STRING
- Semua text harus di letakkan di res/values/strings.xml
- Penamaan dan text harus menggunakan bahasa inggris
COLOR
- Semua value warna harus di letakkan di res/values/colors.xml
- Penamaan harus menggunakan bahasa inggris
STYLE & LAYOUT
- Style yang boleh digunakan untuk theme utama adalah theme NoActionBar Theme.AppCompat.Light.NoActionBar
- Karena menggunakan theme NoActionBar maka layout toolbar harus terpisah menjadi layout sendiri, kurang lebih seperti ini : https://www.androidhive.info/2015/04/android-getting-started-with-material-design/
- hanya boleh menggunakan RecyclerView bukan ListView
ACTIVITY
- Class activity hanya boleh menggunakan extends AppCompatActivity
- Class Activity harus bersih dari extends dan implement ke fungsi atau class lain, jadi hanya diperbolehkan extend ke AppCompatActivity seperti ini : public class ActivityMain extends AppCompatActivity {
LOCAL DATABASE
- Untuk kebutuhan penyimpanan lokal harus menggunakan room database, bertujuan agar lebih rapih
https://developer.android.com/training/data-storage/room
https://medium.com/skyshidigital/data-persistent-dengan-android-room-696a159d227f
STRUKTUR PROJECT
- Struktur project seperti peng-organisasian package folder dan file mengikuti contoh dari kami, akan kami berikan ketika sudah deal.
LIBRARY
- Untuk tampilan hanya diperbolehkan menggunakan official dari google com.android.support:appcompat-v7, com.android.support:cardview-v7, com.android.support:recyclerview-v7, com.android.support:design, com.android.support:support-v4.
- Untuk API request menggunakan Retrofit : http://square.github.io/retrofit/, com.google.code.gson
- Jika ada library lain harus konfirmasi terlebih dahulu kepada project owner.