eCreds

eCreds

 

Introduction

Currently, most of the teachers receive a paper attendance certificate post completion of the in-person training programs conducted by the state. In some states, teachers submit these certificates back to the school principal as a proof of attending the training program. Hence, they do not have a record of the trainings attended by them. Further, the paper certificates are liable to forgery and can be misused by the stakeholders to meet certain ends.

 

Teachers deem a certificate provided by a valid authority as an important artefact:

  • serves as an evidence of completing a training

  • collection of multiple certificates can potentially build teachers' learning profile

  • permanence of the certificate since it is in a digitised format

  • verifiability of certificates reduces the chances of forgery

Hence, the value of including this use case as an integral part of the teacher's online course journey.  

Requirement Specifications

This section consists of requirement specifications for specific use cases in the User JTBD. The requirements for each use case are elaborated in detail through sub-sections for:

  • Use case overview

  • Overall process workflow

  • Associated user stories 

  • Non-functional requirements

  • Localization requirements  

  • Telemetry requirements

  • Dependencies

  • Impact on other products

  • Impact on existing data  

Overview

This use case deals with enabling state to:

  1. provide eCredentials to teachers upon completion of the course and

  2. print and ship certificates to teachers

Overall Process Workflow

 

User Story 1 Overview

As a course author, for the course authored by me, I want to configure course completion certificate to be issued upon completion of the course.

Main Scenario

Assertion of a certificate to a course will be done using a API from the back end. API will be used to carry out the following functions:

1) Associate a certificate template to the course

2) Update existing course certificate <if the certificate is already set>

3) Remove association between certificate and the course

A certificate can have the following components:

Name

Description

Optional/Mandatory

Name

Description

Optional/Mandatory

Completion date

will be the <month, year> when the teacher completed the training

System populated

Issuer

will be the state body issuing the certificate (organization or institution)

Mandatory

Recipient

will be the teacher name who has completed the course

System populated

Signatory

will be name of the individual signing the certificate 

Optional

Signature

will be the digital signature image of the signatory

Optional

Training program name

will be the name of the course which they have completed

System populated

QR code

Will be unique per user

System populated

 

Mapping of Components

  • A state can have single unique issuer.

  • Certificate can have single signature. The signature will be digitally verified.

  • Issuer can have multiple signatories. 

  • Each certificate will have unique QR code. 

  • QR code mapping can be updated dynamically i.e., if a QR code is linked to user’s credentials it can later be updated to have a video or both.

The structural model for certification infra needs to be built on incredible spec. (https://github.com/sunbird-specs/inCredible/blob/master/v1/spec.md)

Pre-requisites

  • Course is published

  • Course has batches - batch can be an open batch or an invite only batch.

  • Certificate template is available

  • State has provided the details needed to assert the certificate

    • Issuing authority/Issuer name - The issuer will be an organisation or institution which is a competent authority to certify recipients. Note that the issuer is different from the signatory (i.e. the individual(s) who applies his/her signature to the credential). 

    • Signatory - will be the name, designtation of the individual/authority signing the certificate. 

    • Signature image - will be the digital signature image of the signatory. 

  • Each state has their own public and private key generated by platform

 

Srl. No.

User Action (API)

Expected Result

Srl. No.

User Action (API)

Expected Result

1

Attach a certificate template to a course which does not have any certificates attached

Certificate template to be added to the course

2

Attach certificate to a course which already has a certificate attached

Should fail with proper error message - This course already has a certificate attached to it. 

3

Update certificate to a course which has a certificate attached

The updated certificate will be added to the course

4

Remove attached certificate from a course

Attached certificate will be disassociated

5

Update/Remove certificate when no certificate is attached to a course

Should fail with proper error message - This course does not have a certificate attached to it.

Exception Scenarios

When issuing certificates to users, any changes to the certificate template will not be applied retrospectively. The latest certificate template at the time of issue/re-issue is provided to the users. 

Certificate Templates

possible certificate templates are shown in the below link

https://projects.invisionapp.com/d/main#/projects/prototypes/18060916

For Future Release

As a course creator, I want to assert certificates to courses created by me so that users receive the certificate upon course completion.

State can have multiple unique issuers.

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-13591

User Story 2 Overview

As a course mentor, I want to issue online certificates to my state teachers who have completed the course.

Pre Requisites

  • Course has a certificate attached to it

  • User is enrolled into the course batch (open or invite-only)

  • User's course progress is 100%

  • User belongs to the same tenant as the course author (only state validated teachers receive the certificate)

Main Scenarios

Issuance of certificates to state teachers who have completed the course will be done using a API. 

Scenario 1: Issue certificates to all state teachers who have completed the course

Sr. No

User Action (API)

Expected Result

Sr. No

User Action (API)

Expected Result

1)

Issue certificate API

If pre-requisites are met then certificates are successfully issued.

If certificate was already issued to the teacher then it is not issued again.

Upon successful issue of certificate, the recipients are notified by SMS or email or both. 

The count of issued certificates is updated in the mentor's course dashboard.

If certificate issue fails, a log of failed records and the reason for failure is stored in the log.

Alternate Scenarios

Scenario: Re-issue of certificates

Pre Requisites

  • User has already received a certificate

 

Sr. No

User Action (API)

Expected Result

Sr. No

User Action (API)

Expected Result

1)

Re-issue certificate API

If pre-requisites are met then certificates are successfully re-issued.

Upon successful re-issue of certificate, the recipients are notified by SMS or email or both. 

The count of issued certificates is NOT updated in the mentor's course dashboard. (this count maps to the users who have received the certs irrespective of the number of times they have been issued the same certificate)

If certificate issue fails, a log of failed records and the reason for failure is stored in the log.

 

Wireframes

N/A

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-13592

User Story Overview

As a course mentor, I want to issue online certificates to my state teachers who have completed the course.

Pre Requisites

  • Course batch (open or invite-only) has ended

  • Course has a certificate attached to it

  • User is enrolled into the course batch (open or invite-only)

  • User's course progress is 100%

  • Certificate issuer is either the course mentor for that batch or in case of open batch should be the author of the course with course mentor role

  • User belongs to the same tenant as the course author (only state validated teachers receive the certificate)

Main Scenarios

 

Scenario 1: Issue certificates to all state teachers who have completed the course (Bulk issue)

Sr. No

User Action

Expected Result

Sr. No

User Action

Expected Result

1)

Course mentor clicks on ‘Issue online certificates’ option for the first time

Certificates are issued to teachers who have completed the course

  1. A pop up is shown with a message informing the user that ‘Certificates will be issued to <count> teachers shortly.’ (Exact message to be provided by the documentation team).

  2. System initiates certificate issuance process in async mode

  3. ‘Issue online certificate’ option is disabled

  4. From the course dashboard report, mentor can visually identify teachers who have received the certificate vs who have not.

  5. Post successful issue of certs, mentor can see the count of teachers who have received the certs in the dashboard. If the certificate issuance has failed then display the count of certificates that were not issued

  6. ‘Issue online certificate’ option is enabled

2

Course mentor clicks on ‘Issue online certificates’ option again

If the bulk issue of certificates was already done:

  1. New certs to be issued:

Certificates are issued to users who have not received the certificate previously for whatever reason. Steps mentioned in user action 1) are repeated.

2. If there are no new certificates to be issued:

User is informed that <No new certificates are to be issued. Certificates were already issued to <count> teachers on <DD-MM-YY-HH-MM-SS>> (Exact message to be provided by the documentation team)

 

Scenario 2: Re-issue certificates to only a few selected state teachers who have completed the course

Srl. No.

User Action

Expected Result

Srl. No.

User Action

Expected Result

1

Course mentor selects users (either by search or manually) in the course dashboard page and re-issues certificate

Certificates are issued to selected teachers

  1. A pop up is shown with a message informing the user that ‘Certificates will be issued to <count> teachers shortly.’ (Exact message to be provided by the documentation team).

  2. System initiates new certificate issuance process in async mode (re-issues are treated as new certificate issuance)

  3. From the course dashboard report mentor can visually identify teachers who have received the certificate vs who have not.

  4. Post successful issue of certs, the count of number of teachers who have received the certificates is updated, if need be. (count should not be duplicated).  If the certificate issuance has failed then display the count of certificates that were not issued



Exception Scenarios

Scenario 1:

The course dashboard UI can show only 10k users. Hence, if a batch has more than 10k users then not every teacher who has enrolled into the course shows up in the dashboard report. Hence, in this scenario, the mentor may not be able to re-issue certificates to a few teachers. 

 

In this scenario, course mentor can filter the course dashboard view by course completion date and issue certificates.

Srl. No.

User Action

Expected Result

Srl. No.

User Action

Expected Result

1

Course mentor selects users (either by search or manually) in the course dashboard page by applying completion date filter and re-issues certificate

Certificates are issued to selected teachers

  1. A pop up is shown with a message informing the user that ‘Certificates will be issued to <count> teachers shortly.’ (Exact message to be provided by the documentation team).

  2. System initiates certificate issuance process in async mode

  3. From the course dashboard report mentor can visually identify teachers who have received the certificate vs who have not.

  4. Post successful issue of certs, the count of number of teachers who have received the certificates is updated, if need be. (count should not be duplicated).  If the certificate issuance has failed then display the count of certificates that were not issued



Wireframes

<to be added>

JIRA Ticket ID

 

User Story 3 Overview

As a course mentor, I want to view count of issued certificates and individual certificate status so that I'm aware of how many teachers in my state have received the certificates.

Pre Requisites

  • Certificate was already issued to the user

  • User belongs to the same tenant as the course author (only state validated teachers receive the certificate)

Main Scenarios

Course dashboard will be modified to include the following fields:

a) External ID: This is the state ID. It should be populated only for state validated teachers

b) Certificate Status: This column will have 3 possible values: 

  • Issued - for state teachers who have received the certificate

  • Blank - for state teachers who have not yet received the certificate

  • N/A - for non-state teachers (teachers who do not belong to the course author's tenant)

c) Count of issued certificates

 

Design

https://projects.invisionapp.com/d/main#/console/18050126/374684611/preview

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-13593

User Story Overview

As a course mentor, I want to download certificates issued to state teachers who have completed the course so that I can print and ship these certificates to the candidates.

Pre Requisites

 

Scenario 1: Download certificates issued to all teachers of my state who have completed the course (Bulk download)

Sr. No

User Action

Expected Result

Sr. No

User Action

Expected Result

1

Course mentor clicks on download certificate option to download all  certificates issued by the mentor

All the issued certs are downloaded in multiple ZIP files depending on the size of each file.  

Note: a) System automatically decides the number of ZIP files to be generated on basis of the size of the file. b)  If the download fails due to lack of sufficient space in the local computer then system generated messages are shown. c) If the download is interrupted for whatever reason then the clicking on download again will resume the download from the beginning d) During the download process the download button is disabled

 

Scenario 2: Download certificates issued to few teachers of my state who have completed the course

Srl. No.

User Action

Expected Result

Srl. No.

User Action

Expected Result

1

Course mentor selects users (either by search or manually) in the course dashboard page and downloads their certificates

All the issued certs are downloaded in multiple ZIP files depending on the size of each file.  

Note: a) System automatically decides the number of ZIP files to be generated on basis of the size of the file. b)  If the download fails due to lack of sufficient space in the local computer then system generated messages are shown. c) If the download is interrupted for whatever reason then the clicking on download again will resume the download from the beginning d) During the download process the download button is disabled

Exception Scenarios

Scenario 1:

The course dashboard UI can show only 10k users. Hence, if a batch has more than 10k users then not every teacher who has enrolled into the course shows up in the dashboard report. Hence, in this scenario, the mentor may not be able to download certificates of a few teachers. 

 

In this scenario, course mentor can filter the course dashboard view by course completion date and download certificates.

Srl. No.

User Action

Expected Result

Srl. No.

User Action

Expected Result

1

Course mentor selects users (either by search or manually) in the course dashboard page by applying completion date filter and downloads certificate

Course mentor downloads the certificate

Wireframes

<to be added>

JIRA Ticket ID

 

User Story 4 Overview

As a teacher, post completion of the course, I want to be informed when my certificate is issued so that I can download my certificate.

Pre Requisites

  • User has completed the course

  • Online certificates are already issued

 

Main Scenarios

Sr. No

User Action

Expected Result

Sr. No

User Action

Expected Result

1

Course mentor issues online certificate to users

Users receive an email notification and an SMS informing them that their online certificates are generated and they download them from their profile page, if user profile has both email and mobile number. If user has provided only their mobile notification then sms is sent only to their mobile.

2

User clicks on download certificate option in user profile page

Certificate is downloaded as a pdf file. 

3

Course mentor reissues online certificate to users

Users receive an email notification and an SMS informing them that their online certificates are generated and they download them from their profile page, if user profile has both email and mobile number. If user has provided only their mobile notification then sms is sent only to their mobile. If user has provided only their email then email notification is sent.

Newly issued certificate is updated in the user profile page

Email Template: <Updated in design link>

Subject:

From:

Mail text:

SMS Template:

SMS text:

Congratulations! You have successfully completed the training <name of the training> on <completion date>. You can download your certificate from the profile page.

 

Design

https://projects.invisionapp.com/d/main#/console/18060916/374743126/preview

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-13594

User Story 5 (Mobile story)

 

As a teacher, post completion of the course, I want to download my certificate to print and scan the QR code on the certificate to verify my credentials.

As a teacher, post completion of the course, I want to share my certificate with my superiors as proof of completing the online training.

Pre-requisites

  • User has completed the course

  • Online certificates are already issued

Srl. No.

User Action

Expected Result

Srl. No.

User Action

Expected Result

1

User clicks on download certificate option from the profile page

Certificate is downloaded

2

User scans the QR code from DIKSHA app

User views the certificate details with the video thumbnail.

3

User scans the QR code from generic scanner

User is taken to a link. User clicks on the link and is taken to the certificate details page.

4

User clicks on share to share the certificate

The certificate is shared as a link

Exception Scenarios

In case of a re-issue, the older QR code is revoked. Hence, in this scenario, if the user scans the older QR code then they are informed in the certificate details page that the certificate is revoked.

Designs

https://projects.invisionapp.com/d/main#/projects/prototypes/18049283

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-13595

 

User Story 6

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-14708

As a teacher, post completion of the course, I would like to download my course completion certificate.

Pre-Requisites

  • Course should have a certificate

  • Teacher is a state validated teacher

  • Teacher has completed the course

Sr No

User Action

Expected Result

Sr No

User Action

Expected Result

1

User completes the course

A batch job runs overnight to issue the certificates:

a) User receives a notification (email or phone or both based on the details in the user profile page) when the certificate is issued to the teacher;

b) User can download the certificate from the profile page (mobile & portal);

 

 

Exception Scenarios

User who has already received a certificate will not receive another certificate unless explicitly a certificate re-issue is done or a user's progress changes from completed to in-progress (in the case of additional content being added).

If the issue of certificate fails for any reason, then update the certificate status in the course dashboard page with 'Issue failed'.

 

User Story 7

JIRA Ticket ID

https://project-sunbird.atlassian.net/browse/SB-14709

As a state admin, I should be able to re-issue certificates to state teachers whose details are incorrect and reach out to me for correction of details in the certificate.

Pre-Requisites

  • Course should have a certificate

  • Teacher is a state validated teacher