eCreds
- 1 Introduction
- 2 Requirement Specifications
- 2.1 Overview
- 2.2 Overall Process Workflow
- 2.3 User Story 1 Overview
- 2.4 User Story 2 Overview
- 2.4.1 Wireframes
- 2.4.2 JIRA Ticket ID
- 2.5 User Story Overview
- 2.5.1 Wireframes
- 2.5.2 JIRA Ticket ID
- 2.6 User Story 3 Overview
- 2.6.1 JIRA Ticket ID
- 2.7 User Story Overview
- 2.7.1 Wireframes
- 2.7.2 JIRA Ticket ID
- 2.8 User Story 4 Overview
- 2.8.1 Design
- 2.9 User Story 5 (Mobile story)
- 2.9.1 Designs
- 2.9.2 JIRA Ticket ID
- 2.10 User Story 6
- 2.10.1 JIRA Ticket ID
- 2.11 User Story 7
- 2.11.1 JIRA Ticket ID
- 2.12 User Story 8
- 2.12.1 JIRA Ticket ID
- 2.13 User Story 9
- 2.13.1 JIRA Ticket ID
- 2.14 User Story 10
- 2.14.1 JIRA Ticket ID
- 2.15 User Story 11 - Send Email and SMS to the user, when "Certificate of Achievement" is issued
- 2.15.1 JIRA Ticket ID
- 2.16 User Story 12 -Update the email content that is sent to the user, when "Course completion" certificate is issued
- 2.16.1 JIRA Ticket ID
- 2.17 User Story 13 -Update the email content that is sent to the user, when "Course completion" certificate is issued
- 2.17.1 JIRA Ticket ID
- 2.18 User Story 14 - Include "Certificate Type" in the Course Progress Report CSV
- 2.18.1 JIRA Ticket ID
- 2.19 Localization Requirements
- 2.20 Telemetry Requirements
- 2.21 Non-Functional Requirements
- 2.22 Impact on other Products/Solutions
- 2.23 Impact on Existing Users/Data
- 2.24 Key Metrics
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:
provide eCredentials to teachers upon completion of the course and
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
1) | Course mentor clicks on ‘Issue online certificates’ option for the first time | Certificates are issued to teachers who have completed the course
|
2 | Course mentor clicks on ‘Issue online certificates’ option again | If the bulk issue of certificates was already done:
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 |
|---|---|---|
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
|
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 |
|---|---|---|
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
|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|
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