In this problem, we wish to design and build components of an assessment management system using gRPC. The system has three user profiles: learner, administrator and assessor. Note that each user should have a unique identifier in the system. A learner registers for courses, submits assignments for each assessment of each course he/she registered for, and finally checks his/her result. An administrator adds new courses and sets the number of assessments for each course and the assessment weights. He/she also assigns assessors to each course. Finally, an assessor allocated for a course assesses the assignments submitted.