5. Domain Models - gitwrecked/resume-builder GitHub Wiki

User

{
    email: {
        type: String,
        required: true,
        unique: true
    },
    password: {
        type: String,
        required: true
    },
    created_at: Date,
    updated_at: Date,
    admin: { type: Boolean, default: false },
    roles: #Array of type role, create new roleSchema
}

Resume Profile

{ 
    email: {
        type: String,
        required: true
    },
    name: {
        type: String, 
        required: true 
    },
    resume: { type: Resume },
    edited: { type: Resume },
    created_at: Date,
    updated_at: Date
}

Resume

{  
    email: {
        type: String,
        required: true
    },
    resume: String,
    summary: String,
    qualifications: { String },
    experience: { type: Experience },
    education: { type: Education },
    ver: Number,
    created_at: Date,
    updated_at: Date
}

Education

{
    degree : String,
    gradDate: String/Date,
    schoolName: String
}

Experience

{
    placeOfWork : String,
    position/role: String,
    toDate: String/Date,
    fromDate: String/Date,
    summary: String,
    highlights: { String },
    platform/technologies: { String }
}

Message

{ 
    name: {
        type: String,
        required: true
    },
    email: {
        type: String,
        required: true
    },
    message: {
        type: String,
        required: true
    },
    created_at: Date
}