Skip to main content

(PR) Prakerja SPL

Overview

In this technical document, the requirements that need to be met in making the product are specified.

Brief Summary

In the 2024 prework, there are many new things that require large-scale adjustments. The two main things in the 2024 Pre-workshop are the existence of a new type of class, namely Self Pace Learning (SPL) and the requirement to involve the API PMO in the development project. When compared in numbers, 10 Webinar classes compared to 1 SPL class. With the addition of the main new feature, namely Face Recognition with Liveness as user authentication.

SPL or Self Pace Learning is independent learning using the main learning material, namely video recording supported by reading materials and others.

The Solution

Solution Based on User Experience

  • Users need to switch between the Arkademi application and the PMO application, but this will be directed by the Arkademi application.

Technical Solution

  • Backend Developers Arkademi will cover the API from PMO so that Frontend Developers can implement it without directly dealing with the PMO API.
  • Differentiate between SPL and Webinar classes both in data response and course pages in web and mobile applications.
  • The Face Recognition process is carried out on the Pre-Employment page, but this will be handled by the Arkademi application which will direct the movement between the Arkademi application and the PMO application.

Test Plan

  • Will be tested by QA.

Further considerations

  • Can only test Face Recognition successfully through one Prakerja email that has been registered directly to PMO.
  • The tech team initiated system changes without Product approval, due to limited time.

Risk, Security, and Privacy

Hits to external APIs can have several bad effects, so the Backend team is covering APIs to make sure that the Arkademi App does not directly hit the APIs that have been provided by PMO.

Functionality

  1. User join the class
  2. User doing the class
  3. User get certificate
  4. Admin panel to set the course
  5. Admin penilaian to store the feedback

Development Environment

VersioningV2
Programming LanguageJava Script, Dart, PHP
FrameworkReact, Flutter, Laravel, Lumen

User Interface

To see the detail, click here.

Database

Database NameColletion/TableDescription
arkademi-prakerja-rds-newsx5p1B_jawaban_spl_unit-
arkademi-prakerja-rds-newsx5p1B_spl_unit_flag-
arkademi-prakerja-rds-newsx5p1B_spl_user_last_unit-

Course APIs - Prakerja New System
Course APIs - SPL
Course APIs - Admin Penilaian
Order APIs - Prakerja New System
Member APis - Prakerja New System

Web

https://gitlab.com/arkademi/arkademi-frontend-prakerja-v2/-/tree/prakerja-reguler?ref_type=heads

Mobile

https://gitlab.com/arkademi/module-prakerja-mobile/-/tree/prakerja-spl?ref_type=heads

Glossary

WordDefinition
SignatureSignature is created from raw_signature which is hashed using HMAC-SHA1 algorithm with sign_key provided by Prakerja to DP/LP. Check more here
SequenceIt is a word for session
SPLSelf Pace Learning
UKUji Keterampilan
TPMTugas Praktik Mandiri
Commit ProcessFace Recognation and Liveness process

Author, Media Alisa R
December 2023