Contact MeGitHub logoLinkedin Logo

Tools Used:

  • Linux OS
  • GitHub
  • VSCode
  • WSL
  • Docker
  • TSL/SSL
  • C

This is a two-tiered education system that mainly uses system and remote procedure calls to function. The client and server are written in C. The client will functions via a command line, and prompts the user to either submit or download an assignment. The client and server will be quietly checking the connection every set amount of time. The failover server shall run on the same machine, but on a different port (4321).

Download: If the user selects to download: server’s existing files in the assignments directory are neatly displayed to the client. The client is then prompted to enter one of the listed file names for download. If the connection to the primary server breaks, the backup connection to the failover server is used. The system shall resume from where it left off prior to the faulty connection, which results in transparency for the user.

Submit: If the user selects to submit: the client will prompt the user for the name of a file residing in the client's directory. The client will locate that file and transmit it to the server. The server will save it to the assignments directory.