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. In short, we have the following operations: • request_assignments, where an assessor requests submitted assignments for a course he/she has been allocated. Note that an assignment can be marked only once. The function should stream back all assignments that have not been marked yet; • submit_marks, where an assessor submits the marks for assignments; • register, where a learner registers for one or several courses. All the courses are streamed to the server, and the result is returned once the operation completes;
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.
In short, we have the following operations:
• request_assignments, where an assessor requests submitted assignments
for a course he/she has been allocated. Note that an assignment can be
marked only once. The function should stream back all assignments that
have not been marked yet;
• submit_marks, where an assessor submits the marks for assignments;
• register, where a learner registers for one or several courses. All the courses
are streamed to the server, and the result is returned once the operation
completes;
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)