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 |
|---|---|
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" | |
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 |
|---|