Learner Service Data Models Comparison

Learner Service Data Models Comparison

The purpose of this document is to review schema of data synched between Cassandra and Elasticsearch by Learner Service. Also, this would serve the purpose of identifying unused or irrelevant fields that can be removed. The fields requiring discussion are highlighted in red font color.

USER :

  

Cassandra

Elastic Search

Cassandra

Elastic Search

User TABLE

user Topic

id : "text"

id,identifier

avatar : "text"



channel : "text"

channel

countrycode : "text"

countryCode

createdby : "text"

createdBy

createddate : "text"

createdDate

currentlogintime : "text"

currentLoginTime

dob : "text"

dob : "Date"

email : "text"

email

emailverified :"boolean"

emailVerified

firstname : "text"

firstName

framework: " map<text, frozen<list<text>>>"

framework : {

"board" : "List"

"gradeLevel" : "List"

"id" : "text",

"medium" : "List"

"subject" : "List" }

gender: "text"

gender

grade :"list<text>"

grade

isdeleted : "boolean"

isDeleted

language : "list<text>"

language

lastlogintime  : "text"

LastLoginTime

lastname : "text"

lastName

location : "text"

location

locationids : "list<text>"

locationIds

loginid : "text"

loginId

password : "text"



phone :"text"

phone (mask Phone)  (encPhone - phone as encrypted)

phoneverified : "boolean"

phoneVerified

registryid :"text"



roles : "list<text>"

roles

rootorgid : "text"

rootOrgId

status" : "int"

status

subject : "list<text>"

subject

temppassword :"text"



thumbnail : "text"



tncacceptedon  : "timestamp"

tncAcceptedOn :  : "date"

tncacceptedversion : "text"

tncAcceptedVersion

updatedby : "text"

updatedBy

updateddate : "text"

updatedDate

userid : "text"

userId

username : "text"

userName

usertype : "text"

usertype

webpages : "list<frozen<map<text, text>>>"



profilevisibility : "map<text, text>"

this is userProfilevisibility topic from elastic search

{

"email":"text",

"gender":"list",

"grade": "list",

"identifier":"text",

"language": "list",

"location": "list",

"loginId": "text",

"phone":  "text",

"userId":"text",

"userName":  "text"

}

User Education TABLE



id : "text"

id

addressid : "text"

addressId

boardoruniversity : "text"

boardOrUniversity

coursename : "text"

CourseName

createdby : "text"

createdBy

createddate : "text"

createdDate

degree : "text"

degree

duration : "int"

duration

grade : "text"

grade

isdeleted : "boolean"

isDeleted

name : "text"

name

percentage : "double"

percentage

updatedby : "text"

updatedBy

updateddate : "text"

updatedDate

userid : "text"

userId

yearofpassing :"int"

yearOfPassing

 USER_EXTERNALID_TABLE



id : "text"



createdby : "text"



createdon : "timestamp"



externalid : "text"



provider : ""text



 user_job_profile TABLE



addressid :"text"

addressId

createdby :"text"

createdBy

createddate :"text"

createdDate

enddate :"text"

endDate

iscurrentjob: "boolean"

isCurrentJob

jobname :"text"

jobName

joiningdate :"text"

joiningDate : "date"

orgid :"text"

orgId

orgname :"text"

orgName

role :"text"

role

subject : "list<text>"

subject

updatedby :"text"

updatedBy

updateddate :"text"

updateDate

userid :"text"

userId

boardname :"text"



isdeleted : "boolean"



isrejected: "boolean"



isverified :"boolean"



verifiedby :"text"



verifieddate :"text"



user_badge_assertion TABLE



id :"text"

id

assertionid :"text"

assertionId

badgeclassimage :"text"



badgeclassname :"text"

badgeClassName

badgeid :"text"

badgeId

createdts : "timestamp"

createdTs

issuerid :"text"

issuerId

userid :"text"

userId





user_org TABLE

user.Organisations 

id :"text"

id

addedby :"text"

addedBy

addedbyname :"text"

addedByName

approvaldate :"text"

approvalDate

approvedby :"text"

approvedBy

hashtagid :"text"

hashTagId

isapproved :"boolean"

isApproved

isdeleted :"boolean"

isDeleted

isrejected :"boolean"

isRejected

organisationid :"text"

organisationId

orgjoindate :"text"

orgJoinDate

orgleftdate :"text"

orgLeftDate

position :"text"

position

roles : "list<:text>"

"roles"

updatedby :"text"

updatedBy

updateddate :"text"

updatedDate

userid :"text"

userId





address TABLE

user.address

id :"text"

id

addressline1 :"text"

addressLine1

addressline2 :"text"

addressLine2

addtype :"text"

?

city :"text"

city

country :"text"

country

createdby :"text"

createdBy

createddate :"text"

createdDate

isdeleted :"boolean"

isDeleted

state :"text"

state

updatedby :"text"

updatedBy

updateddate :"text"

updatedDate

userid :"text"

?

zipcode :"text"

zipCode





ORGANISATION :

Cassandra

Cassandra