$14
The objective of this assignment is to exercise your knowledge about Google Protocol Buffers and gRPC by building a Tiny SNS, similar in concept with posting and receiving status updates on Facebookor Twitter. In this service, the following must be considered:
send are: FOLLOW, UNFOLLOW, LIST, TIMELINE
2. What to Hand In
The running system will consist of the tiny SNS server (tsd) (and possibly other servers) and the tiny SNS client (tsc). As platform, you should use the provided virtual machine where Google Protocol Buffers v3 and gRPC are installed, and develop the program in C++. (See the document “Programming Guide HW2” and “Virtual Environment Setup”)
2.1 Design
Before you start hacking away, write a design document. The result should be a system level design document, which you hand in along with the source code. Do not get carried away with it, but make sure it convinces the reader that you know how to attack the problem. List and describe the components of the system: Client/Server Program, and their interaction.
For this assignment, we will not stress test your code. As long as the code executes correctly for up to 10 clients, one client at a time updating, you will receive full credit.
2.2 Source code
Hand in the source code, comprising of a makefile, a file tsd.cc, a file tsc.c and any auxiliary files (for example Google protocol buffers and gRPC files). The code should be easy to read (read: well-commented!). The instructors reserve the right to deduct points for code that they considers undecipherable.
2.3 Grading criteria
The 70 pts for this assignment are given as follows: 5pts for complete design document, 5pts for compilation, 60pts for 6 test cases (the test cases have different weights). Refer to provided 6 cases tests which cover most scenarios but these are slightly different with the test cases for grading.