Dataschema: Arkademi Prakerja
Versi
Versi: 1.0
Gambaran Umum
Dokumen ini menjelaskan fungsi dari setiap tabel dalam skema data untuk Arkademi Prakerja Apps.
Tables Diagram
Visit here to see the detail.
Tables Description
Penjelasan tiap tabel dibagi menjadi tiga bagian bedasarkan sistemnya:
Sistem: Course
sx5p1B_posts
Tabel Posts merupakan tabel utama yang terbagi menjadi beberapa tipe diantaranya adalah course, product, unit, question dan quiz.
sx5p1B_postmeta
Tabel ini merupakan informasi tambahan atau spesifik mengenai post yang berelasi langsung dengan tabel Posts. Diantara data yang disimpan pada tabel ini adalah id product dan duration. Sehingga data pada tabel Posts hanya berupa id dan typenya, sedangkan detailnya ada di postmeta.
sx5p1B_categories
Menyimpan data kategori kelas seperti kewirausahaan dan Tes CPNS.
sx5p1B_category_course
Merupakan tabel relasi diantara tabel Posts dan tabel Categories.
sx5p1B_course_flag
Berisikan flag (tanda) kelas, terdapat dua tipe yaitu webinar dan spl.
sx5p1B_kuesioner
Kuesioner merupakan sisipan materi pada pembelajaran (kurikulum). Terdapat 2 field utama yaitu aktif sebagai penanda keaktifan kuesioner dan index untuk urutan dari kuesioner.
sx5p1B_jawaban_kuesioner
Tabel ini digunakan untuk menyimpan jawaban pengguna pada kuesioner.
sx5p1B_jawaban_refelective_journal
Tabel ini digunakan untuk menyimpan jawaban pengguna pada reflective journal.
sx5p1B_jawaban_spl_unit
Tabel ini digunakan untuk menyimpan jawaban pengguna pada TPM dan UK.
sx5p1B_jawaban_webinar_unit
Tabel ini digunakan untuk menyimpan jawaban pengguna pada unit yang tersedia di Webinar.
sx5p1B_log_mail
Tabel ini dibuat berdasarkan kebutuhan dari tim Product untuk melacak aktivitas pengguna ketika menyelesaikan pemesanan dan memulai sesi kelas. Untuk email mengenai pembelajaran, jika diketahui waktu sudah melewati batas yang tercatat, sistem akan mengirimkan email berupa reminder untuk menyelesaikan kelas.
Note: Batasan waktu sekita 2-3 hari dari waktu sesi dimulai.
sx5p1B_log_openunit
Tabel untuk pencatatan aktivitas pengguna ketika membuka unit.
sx5p1B_mail_templates
Berisikan template email.
sx5p1B_marketplaces
Menyimpan data marketplace/e-commerce yang terafiliasi dengan Arkademi untuk penjualan kelas Prakerja.
sx5p1B_mst_sesi
Menampung data sesi webinar.
sx5p1B_product_limit
Berisikan batasan pembelian product/kelas.
sx5p1B_rating
Menampung data ulasan dan rating dari user terhadap sebuah kelas.
sx5p1B_spl_unit_flag
Menampung data flag unit untuk kelas SPL,
sx5p1B_spl_user_last_unit
Pengguna hanya diperbolehkan untuk mengakses 1 sesi di tiap harinya, maka diperlukan pencatatan waktu unit terakhir yang dikerjakan pengguna.
sx5p1B_webinar
Merupakan tabel perencanaan dari pemecahan tabel posts yang diharapkan terjadi kedepannya.
sx5p1B_webinar_pembicara
Berisikan data pembicara pada kelas webinar.
sx5p1B_webinar_quiz
Tabel ini digunakan untuk menyimpan jawaban pengguna pada quiz webinar.
sx5p1B_webinar_unit
Tabel ini digunakan untuk menyimpan data waktu unit dimulai dan selesai.
sx5p1B_webinar_unit_flag
Tabel ini digunakan untuk menyimpan data unit flag untuk kelas Webinar.
sx5p1B_webinar_user
Tabel ini berisikan data user yang sudah masuk ke kelas webinar.
sx5p1B_gagal_submit_pmo
Terdapat pencatatan proses submit TPM dan UK ke PMO, jika terjadi kegagalan maka dicatat pada tabel ini.
Sistem: Order
sx5p1B_order
Mencatat transaksi yang ada kelas prakerja.
sx5p1B_antrian_sesi
Tabel ini merupakan table additional, yaitu untuk case tertentu. Dimana untuk pengguna yang tidak memiliki sesi (membeli kelas di Tokopedia).
sx5p1B_arkademi_notifications
Berisikan data/format notifikasi yang akan dikirimkan ke pengguna.
sx5p1B_coupons
Merupakan tabel hasil dari refaktor tabel lama, sebelumnya ada di posts dengan post type soft coupon, foreign key pada tabel ini adalah slug_code/code.
sx5p1B_coupon_useds
Catatan kupon yang telah digunakan oleh pengguna.
sx5p1B_redeem_code_fraud
Berisikan data yang ketika proses redeem gagal (error/400), requested by Product team.
sx5p1B_user_live_access
Awal pembuatan ditujukan untuk memberikan privilage khusus untuk redeem lebih cepat, seperti untuk user assesor (dari PMO). Terdapat dua tipe yaitu, liveaccess dengan flow harus melakukan redeem code dan bypass dengan flow tanpa perlu melakukan redeem code.
sx5p1B_user_prakerja_state
Tabel untuk mencatat log verifikasi wajah, didalamnya terdapat field state yaitu string unik yang diberi oleh PMO yang diperlukan pada saat callback.
Sistem: User
sx5p1B_users
Berisikan data user seperti email, pass yang biasa digunakan untuk proses login, profile, sertifikat.
sx5p1B_usermeta
Merupakan meta data dari tabel sx5p1B_users, pada tabel ini juga menyimpan token, progress, durasi kelas, status kelas pengguna. Untuk status kelas ada beberapa tipe:
1: Telah melakukan pembelian.
2: Sedang mengerjakan kelas.
3: Sudah mengerjakan post test.
4: Kelas sudah complete.
sx5p1B_users_data
Merupakan tabel refaktor berisikan data profile user.
sx5p1B_cek_kupon_profile
Menyimpan sertifikat pengguna prakerja. Dapat diakses langsung (tanpa memerlukan relasi dengan tabel lain) karena sudah tersedia data user dan lainnya.
sx5p1B_user_file_images
Berisikan file foto profile user, berelasi dengan tabel sx5p1B_users.
Writer: Media
Contributor: Fauzan
Written at: 25 September 2024