Skip to main content

Functional Specification Document: Arkademi Prakerja

1. Overview

This document outlines the functional specifications of the Arkademi Prakerja Apps integrated with Kartu Prakerja, focusing on user authentication, course enrollment, voucher redemption, face recognition, and task management. It is intended for developers and project stakeholders to ensure consistent implementation of system requirements.

1.1 Purpose

The purpose of this document is to define the functionality of the system and provide detailed specifications for each component. This ensures that all development and testing align with the functional objectives of the platform.

1.2 Scope

This document covers:

  • User authentication
  • Course selection and enrollment
  • Voucher redemption
  • Progress tracking and task submission
  • Face recognition for attendance
  • Error handling and logging

2. Functional Components

2.1 User Authentication

2.1.1 Description

User authentication allows individuals to log in using credentials. After login, the user receives a token and is redirected to the homepage.

2.1.2 Process

  1. Login Page: The user enters their credentials (email and password).
  2. Token Generation: The system generates a token upon successful authentication.
  3. Homepage Redirection: The user is redirected to the homepage with their account logged in.

2.1.3 Key Considerations

  • There is no API authentication between the Arkademi Prakerja Apps and the Kartu Prakerja API.
  • Authentication is handled when checkout.

2.2 Course Selection & Enrollment

2.2.1 Description

Users can select available courses and proceed to purchase them via DP (eCommerce platform). The platform only provides a class list and redirects users to DP for payment.

2.2.2 Process

  1. Course Browsing: Users browse through the list of available courses.
  2. Redirect to DP: Once a course is selected, users are redirected to DP (eCommerce platform) for the payment process.
  3. Post-purchase Enrollment: After the course is purchased, users receive a voucher and a redeem code.

2.2.3 Key Considerations

  • The platform does not handle payments or deduct balances from the Kartu Prakerja account. It only manages course listings and redirection.

2.3 Voucher Redemption

2.3.1 Description

Users redeem the voucher they received after purchasing a course from DP to confirm their enrollment.

2.3.2 Process

  1. Enter Voucher Code: The user enters the voucher code and redeem code.
  2. Account Validation: The system validates the user’s identity using the Kartu Prakerja API.
  3. Enrollment Confirmation: Upon successful validation, the user is enrolled in the selected course.

2.3.3 Key Considerations

  • Error Handling: If account validation fails due to an email mismatch, the user can update their email during the checkout process and retry the validation.

2.4 Face Recognition for Attendance

2.4.1 Description

Face recognition is required for tracking user attendance at the end of each learning module. The system uses the Kartu Prakerja API to verify the user's identity.

2.4.2 Process

  1. Face Recognition Initiation: At the end of a module, users are prompted to perform face recognition.
  2. API Call to Kartu Prakerja: The system sends a face recognition request to the Kartu Prakerja API.
  3. Attendance Verification: Once the user’s face is successfully recognized, their attendance is logged.

2.4.3 Retry Mechanism

  • Users are allowed up to 5 retries for face recognition in webinars.
  • Users are allowed up to 10 retries for Self-Paced Learning (SPL) modules.
  • If the retry limit is reached, an error is logged, and further verification attempts are blocked.

2.5 Task Submission

2.5.1 Description

Users can upload and submit course-related tasks through the platform. Submitted tasks are forwarded to the PMO for evaluation.

2.5.2 Process

  1. File Upload: The user uploads the required task file.
  2. Submission to PMO: The system sends the file to the PMO for evaluation.
  3. Submission Failure: In case of any failure, the system logs the error and prompts the user to retry submission.

2.5.3 Key Considerations

  • If the file submission fails, an error log is generated for troubleshooting.
  • The PMO reviews the task and provides feedback to the user.

2.6 Progress Tracking

2.6.1 Description

Progress tracking is done as the user completes various modules within the course. Attendance must be verified before proceeding to the next module.

2.6.2 Process

  1. Learning Start: The user begins the course.
  2. Module Completion: The system logs each completed module.
  3. Flexible Progress Percentages: Progress is recorded based on user activity, with percentages being flexible rather than fixed.

2.6.3 Key Considerations

  • Attendance verification via face recognition is mandatory for completing each module.

3. Error Handling

3.1 Authentication Failure (Email Mismatch)

3.1.1 Description

If there is an email mismatch during the voucher redemption process, the user will be prompted to update their email during checkout.

3.1.2 Process

  1. Email Mismatch Detected: During voucher redemption, if the email does not match the Kartu Prakerja account, the system prompts the user.
  2. Update Email: The user can update their email address in the checkout process.
  3. Retry Authentication: After updating, the system retries authentication with the new email.

3.2 Face Recognition Failure

3.2.1 Description

If face recognition fails, the user is allowed several retries within a limit.

3.2.2 Retry Limits

  • 5 retries are allowed for webinars.
  • 10 retries are allowed for Self-Paced Learning (SPL) modules.
  • If the retry limit is reached, an error is logged.

4. Security Considerations

  • Data Encryption: Sensitive data, including user login information and face recognition data, is encrypted using SSL/TLS protocols.
  • Role-based Access Control (RBAC): Different roles (e.g., student, instructor) have varying levels of access to system features.
  • Error Logs: All errors and failures (e.g., submission issues, face recognition retries) are logged for security and troubleshooting purposes.

5. Non-functional Requirements

  • Performance: The system must handle high user traffic, especially during course enrollments and face recognition activities.
  • Scalability: The cloud-based architecture allows for horizontal scaling to accommodate growing user demands.
  • Reliability: The system must ensure a high level of availability with a minimum downtime during peak learning periods.

This document details the functionality required for the Learning Institution’s platform. It ensures that each component, including user authentication, course enrollment, face recognition, and task submission, is developed and tested according to the specified behavior.