In addition to writing the code implementation for the system, we are also required to do :
- Requirements engineering on the software specification.
- Create and document a design for the software after the doing the requirement engineering.
- Finally, construct the code for the software, in addition to unit testing for the implementation.
The server side implementation of this protocol can be found here, which are written in Python using Flask.
Tests are done using JUnit, and we are also require to design the tests ourselves.