Spesifikasi Aplikasi (Back-End)

Proyek ini adalah REST API yang diintegrasikan dengan mobile apps. Mobile apps ini adalah versi mobile dari web tafsir.learn-quran.co.

Namun, ada beberapa fitur di tafsir.learn-quran.co tersebut yang saat ini tak perlu Anda buat di mobile apps-nya [saat ini, di lain kesempatan di masa depan إِنْ شَآءَ الله  kita buat], yaitu fitur Feedback, Tentang, dan Fitur Donasi yang terdapat di Menu.

Di samping itu, ada juga beberapa penambahan fitur, yaitu fitur Iklan menggunakan Admob, In-App Purchase, Push Notifications, Offline Mode, Login dengan akun Google & Apple, Onboarding Screen, QnA dengan AI dan Fitur Tadabbur.

  1. Nama Aplikasi: Learn Quran Tafsir (LQTafsir)
  2. Framework: Laravel (REST API)
  3. User Roles
    • Free User : Pengguna yang tidak bayar (akses beberapa fitur dibatasi & mendapat iklan)
    • Pro User : Pengguna yang bayar (bisa akses semua fitur & bebas iklan)
    • Ulama : Pro User yang mendapat fitur tambahan untuk memverifikasi tadabbur Pengguna lainnya
    • Admin : Pro User yang memiliki akses tertentu berkaitan sistem admin
    • All User : Free User + Pro User + Ulama + Admin
  4. Purwarupa : https://www.figma.com/proto/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=408-2&t=pWVc6zeeJJYOKwK0-0&scaling=scale-down&page-id=0%3A1&starting-point-node-id=408%3A2
  5. Daftar fitur yang membutuhkan REST API
NoFiturPenggunaFungsiDetail / Purwarupa
1SecurityAll UserMengurangi risiko pembajakanAPI tidak mudah didapatkan ketika terjadi reverse engineering
2In-App PurchaseFree UserSubscribe via Google Play untuk menjadi member / user pro (QnA ulimited, tanpa iklan & bisa download data)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=216-1002&mode=design&t=Wwy0xHWuC68F4H6E-4
Validasi fitur QnA (membuat pertanyaan) unlimited & bisa download data untuk fitur akses offline di mobile app, setelah user subscribe via Google Play Store
Free UserSubscribe via Apple App Store untuk menjadi member / user pro (QnA unlimited, tanpa iklan & bisa download data)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=216-1002&mode=design&t=Wwy0xHWuC68F4H6E-4
Validasi fitur QnA (membuat pertanyaan) unlimited & bisa download data untuk fitur akses offline di mobile app, setelah user subscribe via Apple App Store
3Push NotificationsAll UserMenerima notifikasi tafsir (random) harianMengirim push notification tafsir (random) harian menggunakan https://onesignal.com/
All UserMenerima notifikasi tambahan tafsir baruMengirim push notification tambahan tafsir baru menggunakan https://onesignal.com/
All UserMenerima notifikasi perubahan tafsir (bookmarked)Mengirim push notification perubahan tafsir (bookmarked) menggunakan https://onesignal.com/
4Offline modePro UserMengunduh semua data kontenhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=216-992&mode=design&t=Wwy0xHWuC68F4H6E-4
5Authentication (menggunakan JWT, rate-limiter, dll.)All UserMasuk menggunakan Facebook loginhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=245-2182&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMasuk menggunakan Google loginhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=245-2182&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMasuk menggunakan Apple login (khusus iOS)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=245-2182&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserKeluar (logout)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=216-1219&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserHapus akun Googlehttps://support.google.com/googleplay/android-developer/answer/13327111?hl=en
All UserHapus akun Applehttps://developer.apple.com/support/offering-account-deletion-in-your-app/
6HomeAll UserMenampilkan daily ayat (random)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=68-3&mode=design&t=uw7Fg1nXxZxDz7Bw-4
7TafsirAll UserBottom bar | icon “bookmark” untuk menandai / menyimpan tafsir yang sedang ditampilkanhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=17-85&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserTab Tafsir | Menampilkan data Tafsir, 1 QnA (most liked), dan topik terkait, sesuai pilihan jenis tafsir yang dipilih pada komponen dropdown (nama tafsir)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=13-42&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserTab Tafsir | Klik tombol like untuk “menyukai” tafsir yang sedang ditampilkanhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=284-5&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserTab Ayat | Menampilkan data ayat, terjemahan, & topik terkait (topik tidak perlu dimasukan ke response API karena sudah ada dari tab Tafsir)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=19-251&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserTab Tadabbur | menampikan daftar Tadabbur (verified) sesuai ayat yang sedang ditampilkanhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=20-9&mode=design&t=Wwy0xHWuC68F4H6E-4
8QnA dengan AIAll UserMenampilkan daftar QnA semua (orang lain & current user) pada Tab “Semua”https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-532&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMenampilkan daftar QnA pribadi (current user) pada Tab “Saya”https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-632&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserPencarian daftar Pertanyaan & Jawabanhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=284-7&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMenampilkan detail data pertanyaan, jawaban, dan status “Like”https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-736&mode=design&t=Wwy0xHWuC68F4H6E-4
All User“Like button” untuk menyukai & untuk mengatur BE bisa memberikan data QnA dengan Like terbanyak unutk di halaman detail Tafsirhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-850&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMelaporkan Jawaban tidak pantas / sesuaihttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-853&mode=design&t=Wwy0xHWuC68F4H6E-4
Free UserMembuat pertanyaan terkait ayat / tafsir (1 hari maksimal 1 kali)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-705&mode=design&t=Wwy0xHWuC68F4H6E-4
Pro UserMembuat pertanyaan terkait ayat / tafsir (unlimited)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-705&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserJawaban otomatis menggunakan AI (custom prompt ChatGPT)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-736&mode=design&t=Wwy0xHWuC68F4H6E-4
– Memanfaatkan API OpenAI dengan custom prompting (https://platform.openai.com/playground/p/default-chat?model=text-davinci-003)
– Inputnya berupa prompting berisikan : (1) Prompting context (2) Pertanyaan User (Kode 13,10/13.11) (3) Ayat/Terjemah (4) Tafsir
– Outputnya berupa hasil generate jawaban dari API OpenAI
9TadabburAll UserMenampilkan daftar Tadabbur Terverifikasihttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-673&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMenampilkan daftar Tadabbur Sayahttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-673&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserPencarian daftar Tadabburhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=284-8&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMenampilkan detail Tadabbur (Nama Surat, Nomor Ayat, status verifikasi, username ulama, username creator, tadabbur)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=180-897&mode=design&t=Wwy0xHWuC68F4H6E-4
All UserMembuat Tadabbur dari ayat tertentu atau bisa menambahkan ayat yang lain (multi ayat), bisa pilih jenis posting (public akan melalu proses verifikasi ulama atau private untuk tadabbur pribadi)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=249-2206&mode=design&t=Wwy0xHWuC68F4H6E-4
UlamaProses verifikasi/tolak dan tampilkan ke timeline (Ulama)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=412%3A574&mode=design&t=Zu3zFyqtqmAcNCvA-1
10SearchAll UserPencarian Tafsir melalui form input, outputnya berupa daftar tafsir yang sesuai dan akan menampilkan topik terkait jika keyword nya sesuai topikhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=21-216&mode=design&t=uw7Fg1nXxZxDz7Bw-4
All UserOptimasi search engine menggunakan teknologi AI terbaru (ChatGPT Embeddings)https://magnetic-tent-ddf.notion.site/Optimasi-fitur-pencarian-LQTafsir-Mobile-App-5f90d96e813846ea9d425ccbf93bb3f7
11BookmarkAll UserMenampilkan daftar bookmark (nama surat & nomor ayat)https://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=22-670&mode=design&t=uw7Fg1nXxZxDz7Bw-4
All Usericon “unbookmark” jika di klik akan menghapus item dari daftar bookmarkhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=17-85&mode=design&t=uw7Fg1nXxZxDz7Bw-4
12SettingsAll UserEdit Foto & Nama userhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=216-1300&mode=design&t=Wwy0xHWuC68F4H6E-4
AdminMelihat daftar laporan dari user & bisa menyembunyikan / membatalkan QnA yang dilaporkanhttps://www.figma.com/file/GlOlaW5a9KUSOFX3I8IOHH/LQ-Tafsir-(Mobile-App)?type=design&node-id=410%3A315&mode=design&t=Zu3zFyqtqmAcNCvA-1

Last modified on 15 September 2023 at 15:55 WIB (GMT + 7)