Skip to main content

Technical Documentation: Arkademi Prakerja

1. Introduction

This document provides detailed technical information for the Arkademi Prakerja Apps integrated with the Kartu Prakerja system. It explains the system architecture, user authentication, voucher redemption, error handling, face recognition processes, and API interactions.

2. System Architecture Overview

2.1 Components

The system consists of the following components:

  • Frontend Application: Provides an interface for users to access courses and redeem vouchers. Built using React.js (for web) and Flutter (for mobile).
  • Backend System: Manages user authentication, course enrollment, voucher validation, and face recognition. Built using Lumen.
  • Cloud Services: Hosted on AWS, providing scalability and storage for course materials and user data.
  • Integration with Kartu Prakerja: Used for voucher redemption, user verification, and progress tracking via APIs.

3. User Authentication Flow

3.1 Description

The authentication process allows users to log in to their account. After login, a token is generated, and the user is redirected to the homepage.

3.2 Steps

  1. User Login: The user enters their credentials.
  2. Token Generation: A unique session token is generated after a successful login.
  3. Homepage Redirection: The user is redirected to the homepage.

3.3 Key Considerations

  • There is no API authentication directly communicating with Kartu Prakerja for login.
  • The login process is managed entirely within the Arkademi Prakerja Apps.

4. Course Purchase & Enrollment Flow

4.1 Description

Users select courses and purchase them through a third-party Digital Platform (eCommerce platform) or known as DP. The application handle course payments only for regular users.

4.2 Steps

  1. Course Selection: Users browse and select a course from the Learning Institution’s platform.
  2. Redirect to DP: The platform redirects users to DP to complete the purchase.
  3. Voucher & Redeem Code: After purchase, the user receives a voucher and a redeem code to validate their enrollment.

4.3 Key Considerations

  • The system does not deduct any balance from the user's Kartu Prakerja account.
  • Course enrollment is finalized only after voucher redemption.

5. Voucher Redemption & Account Validation

5.1 Description

The user redeems the voucher received from DP to enroll in the selected course. During this process, the system validates the user’s account using the Kartu Prakerja API.

5.2 Steps

  1. Enter Redeem Code: The user enters the redeem code on the platform.
  2. Account Validation: The system validates the redeem code and the user’s identity via the Kartu Prakerja API.
  3. Enrollment Completion: The user is enrolled in the course after successful validation.

5.3 Key Considerations

  • Error Handling: If an authentication failure occurs (e.g., due to an email mismatch), the user is prompted to update their email on the checkout page.

6. Learning Progress Tracking

6.1 Description

The system tracks user progress through each course module. Progress percentages are flexible and based on the user’s pace rather than fixed intervals.

6.2 Steps

  1. Start Learning: The user begins the course.
  2. Track Progress: Progress is logged as the user completes modules.
  3. Attendance Verification: At the end of each module, face recognition (via Kartu Prakerja) is used to verify attendance.

6.3 Key Considerations

  • Progress tracking is flexible and adaptable to each user’s learning speed.
  • The attendance verification must be completed before moving on to the next module.

7. Face Recognition Process

7.1 Description

Face recognition is required for attendance tracking at the beginning of each module/session.

7.2 Steps

  1. Face Recognition Initiation: At the beginning of each module, the user is prompted to verify their face.
  2. API Call to Kartu Prakerja: The system makes an API call to Kartu Prakerja for face recognition.
  3. Retry Mechanism: If verification fails, the user can retry verification up to 5 times for webinars and 10 times for SPL (Self-Paced Learning).

7.3 Key Considerations

  • The system logs each face recognition attempt.
  • After the retry limit is reached, verification fails.

8. Task Submission Flow

8.1 Description

Students submit tasks through the platform, and the tasks are forwarded to the PMO for review. If submission fails, an error is logged.

8.2 Steps

  1. Upload Task: The user uploads their task as a file.
  2. Send to PMO: The platform sends the task to the PMO for evaluation.
  3. Submission Failure: If submission fails, the system logs the error for troubleshooting.

9. Instructor Feedback & Monitoring

9.1 Description

The instructor monitors student progress, evaluates submitted tasks, and provides feedback.

9.2 Steps

  1. Task Review: The instructor reviews the user’s submitted task.
  2. Provide Feedback: Feedback and grading are provided by the instructor.
  3. Student Revision: The student can revise and resubmit tasks if needed.

9.3 Key Considerations

  • There is no dedicated admin for user progress monitoring. The instructor is responsible for this.
  • Feedback is delivered directly to the student through the platform.

10. Error Handling

10.1 Authentication Failure (Email Mismatch)

If a user's email does not match their Kartu Prakerja account during checkout, the user is prompted to update their email on the platform, and the authentication process is retried.

Steps:

  1. Email Mismatch Detected: During checkout, the email is checked against the Kartu Prakerja account.
  2. Email Update Prompt: If there is a mismatch, the user can update their email on the checkout page.
  3. Retry Authentication: The retries authentication with the updated email will automatically do by the system.

10.2 Face Recognition Failure

If face recognition fails, the user can retry within the retry limits specified below.

Retry Limits:

  • 5 retries for webinars.
  • 10 retries for SPL sessions.