In our system, we have no account type. We only define roles for users, such as a company owner, a member of a company, or a candidate. So, any registered user can fill out their profile with different information.
Remember that we defined a profile
property on the User schema. It will hold all the information regarding a user's work experience, education, or any other relevant data that the user wants to add.
The user's profile will be constructed using blocks. Each block will group a certain domain, such as experience, allowing the user to add new entries to each block.
The backend logic for managing profile data has not been implemented yet. I wanted to give a feeling that we are extending our existing backend with new functionalities. So, we are going to start by creating a new controller file, app/controllers/profile.js
. Then add the following code:
'use strict'; const _ = require('lodash'); const mongoose = require('mongoose'); const User = mongoose.model(...