Skip to content

Instantly share code, notes, and snippets.

@ChakshuGautam
Forked from techsavvyash/BECK_RFC.md
Last active October 6, 2022 09:27
Show Gist options
  • Save ChakshuGautam/4aa488c53413b3d37ca611db9c3edbe1 to your computer and use it in GitHub Desktop.
Save ChakshuGautam/4aa488c53413b3d37ca611db9c3edbe1 to your computer and use it in GitHub Desktop.

Document Details

Supported Protocol Version

This recommendation is for the protocol version 1.x which is due to be released shortly. The release updates can be tracked on release-1.x-review branch of the core specification repository.

This version

v0.1

Latest published version

v0.1

TODO

Latest editor's draft

Implementation report

Stress Test report

Editors

Chakshu Gautam (Samagra Governance)

Yash Mittal (Samagra Governance)

Authors

Chakshu Gautam (Samagra Governance)

Yash Mittal (Samagra Governance)

Feedback

Issues

None

Discussions

No active discussion as of now.

Errata

No Errata exists as of now

Context

The Decentralized Skilling and Education Protocol (DSEP) is an adaptation of beckn protocol for the domain of education and skilling. Under this domain, there are four categories of use cases that are supported.

1. Jobs, Internships and Volunteering
2. Mentoring and Coaching
3. Trainings and Courses
4. Scholarships and Grants

The scope of this document is limited to the Trainings and Courses category of use cases.

Problem

How does DSEP helps in distribution of trainings and courses?

Solution

The following table contains the use cases under trainings and courses category crowd-sourced by the members of the DSEP working group.

Use Case ID Use Case Description
DSEP_UC_7 A DSEP Implementation must help a Teacher teaching students in a government school to be able to Search and view lesson plans (filterable wrt grade, subject, competency etc.) from multiple sources so that they can Be more prepared to teach the students of her classroom
DSEP_UC_8 A DSEP Implementation must help a Teacher teaching in a government school to be able to Preview and share study material such as content video, books, worksheets from any learning platform so that they can expose the students to a diverse set of relevant learning content
DSEP_UC_22 A DSEP Implementation must help a learner looking to upskill to be able to searches for a course so that they can get certification for better prospects
DSEP_UC_24 A DSEP Implementation must help a Individual to be able to Execute a scenario in which an individual can discover trusted trainings so that they can Discover trusted training opportunities/institutes
DSEP_UC_26 A DSEP Implementation must help a Individual to be able to Execute a scenario where individuals enroll for paid trainings so that they can Pays for training using a voucher/money
DSEP_UC_38 A DSEP Implementation must help a A UI/UX designer with 5 year experience to be able to take a certification course in Design Management so that they can apply for a Creative Head position in a digital marketing company
DSEP_UC_42 A DSEP Implementation must help a An BTech professional with 4 years of experience to be able to take a GMAT mock test so that they can apply for Management courses abroad
DSEP_UC_44 A DSEP Implementation must help a A Student wanting to improve competency in a particular subject to be able to Search and Enroll for Online Programs /Sessions that are scheduled for this week. so that they can Improved competency in that subject
DSEP_UC_45 A DSEP Implementation must help a Educators trying to prepare content for teaching to be able to search to identify most credible content so that they can so that educator can prepare relevant teaching content
DSEP_UC_50 A DSEP Implementation must help a A welder who currently working in a village wanted to get the certification for getting a job abroad to be able to Search and attend courses and get the accreditation so that they can Got the job with 5 times higher salary
DSEP_UC_51 A DSEP Implementation must help a An ITI student in plumber trade wanted to go for apprenticeship, but not sure how to build a career to be able to Joining a mentorship course which helps to design the learning path for career so that they can Got selected to an MNC as an intern

Click here to view all the responses

The following list describe the various use cases involved in courses after analyzing the submissions

  1. A student looking to upskill or get trained in a particular domain should be able to find the best possible course from a pool of courses.
  2. An educator/instructor should be able to get access to readily available lecture plans and other course material.
  3. An educator/instructor should be able to easily upload their courses in a paid/unpaid manner for the students to consume/enroll.

Discovery of Courses

Some of the typical parameters set when searching for courses are

i. Course name
ii. Cost of the course
iii. Name of the Institution
iv. Course Instructor
v. Course Code
vi. Exams targeted
vii. Type of course
viii. Ratings
ix. Certification
x. Competency

Currently all of these have been kept as tags but need more insights on where they should lie.

Concrete Examples

{
 "context": {
   "domain": "courses_and_trainings",
   "country": "IND",
   "city": "std:080",
   "action": "search",
   "core_version": "dsep:0.7.1",
   "bap_id": "https://exampleapp.io/",
   "bap_uri": "https://api.exampleapp.io/uhi/v0/",
   "message_id": "5ac3dd78-829e-4c7d-9139-a15adbb582cc",
   "timestamp": "2021-03-23T10:00:40.065Z"
 },
 "message": {
   "intent": {
     "provider": {
       "descriptor": {
         "name": "NPTEL"
       },
       "tags": {
         "isTrusted": "Y"
       }
     },
     "tags": {
       "isRated": "N",
       "grade": "UG",
     },
     "item": {
       "descriptor": {
         "name": "Course for Engineering Students"
       },
       "tags": {
         "title" : "Course Title",
         "type" : "Hybrid (Text + Video)",
         "competency": "450",
         "exams": ["GMAT", "GRE", "UGC-NET"],
         "subject": ["Computer Networks", "Cyber Security"],
         "category": ["Web Development", "AI/ML"],
         "ratings": ">3",
         "institute": ["MIT", "IITD", "IITKGP"],
         "isCertified":"Y",
         "cost": "<1000INR",
         "instructor": {
             "name": "John Doe",
             "tags":[{
               "institute": "IIT Delhi",
             }]
           },
         }
       }
     },
     "categories": [{
       "descriptor": {
         "name": "Cyber Security"
       }
     },{
       "descriptor": {
         "name": "Computer Networks"
       }
     }],
     "fulfillment": {
       "customer": {
         "person": {
           "contact": {
             "tags": {
               "email": "sample@example.com"
             }
           },
         }
       }
     },
     "payment": {
       "params": {
         "amount": "20000",
         "currency": "INR"
       }
     }
   }
 }
}

The response would be something like this.

{
 "message": {
   "ack": {
     "status": "OK"
   },
   "data": [{
     "title": "Course Title (Ex. Fundamentals of Cyber Security)",
     "code": "Course Code (Ex. CSPC21)",
     "link_to_course": "course uri",
     "price": "course price",
     "provider": "course provider name",
     "instructor": {
       // schema for this field is same as the schema
       // for the person field as described in the
       // DSEP spec
       "name": "John Doe",
       "image": "https://uri.to/instructor/image",
       "dob": "XX-XX-XXX",
       "gender": "M",
       "tags":[{
         "institute": "IIT Delhi",
         "teaching_interests": ["Cyber Security", "Computer Networks"]
       }]
     },
     "offering_institute": "Name of the institute offering the course",
     "type": "Text/Video/Hybrid(Text+Video)",
     "category": "Same as the category in the existing DSEP Spec",
     "prerequisites": "Should we skip it for now ???",
     "reviews": [{
       "rating": "A number between  1-5",
       "author": "AUTHOR_NAME",
       "content": "User's review"
     }],
     "certification": {
       "type": "Completion/Attendance/Something Else?",
       "verification_uri": "uri to verify the issued cert",
       "issued_by": "some kind of identification/name of the issuer"
     },
     "tags": {
       "exams": ["GATE", "NET"],
       "isSourceTrusted": "Y/N"
     }
   }, {
     "title": "Course Title (Ex. Fundamentals of Cyber Security)",
     "code": "Course Code (Ex. CSPC21)",
     "link_to_course": "course uri",
     "price": "course price",
     "provider": "course provider name",
     "instructor": {
       // schema for this field is same as the schema
       // for the person field as described in the
       // DSEP spec
       "name": "John Doe",
       "image": "https://uri.to/instructor/image",
       "dob": "XX-XX-XXX",
       "gender": "M",
       "tags":[{
         "institute": "IIT Delhi",
         "teaching_interests": ["Cyber Security", "Computer Networks"]
       }]
     },
     "offering_institute": "Name of the institute offering the course",
     "type": "Text/Video/Hybrid(Text+Video)",
     "category": "Same as the category in the existing DSEP Spec",
     "prerequisites": "Should we skip it for now ???",
     "reviews": [{
       "rating": "A number between  1-5",
       "author": "AUTHOR_NAME",
       "content": "User's review"
     }],
     "certification": {
       "type": "Completion/Attendance/Something Else?",
       "verification_uri": "uri to verify the issued cert",
       "issued_by": "some kind of identification/name of the issuer"
     },
     "tags": {
       "exams": ["GATE", "NET"],
       "isSourceTrusted": "Y/N"
     }
   }]
 }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment