JSON details

Main Server

/main_server/APIKeys.json

- keys -> an array containing instructor's password for logging into /admin area

/main_server/courses.json

- name -> course name
- course number -> official course number
- instructor in charge -> name of lead instructor for the course
- other instructors -> co-instructors, TAs / PAs specified in array format

/main_server/conf.json

- load_balancer -> Provides the URL of the load_balancer ('https://' + hostname + ':' +  port = URL)
- database      -> Provides the authentication credentials for the MYSQL databse.
                   Name of the database used in MYSQL= Autolab
- host_port     -> The port at which the Main server can be accessed.

/main_server/labs.json

- Labs -> An array of objects with each element describing the propeties:-
             1. Lab Number
             2. Start Date and Time of the lab
             3. End Date and Time of the lab
             4. Hard deadlie for lab submission
             5. Penalty
         NOTE:- Upon submission between the End time of the lab and the hard deadline penalty will be imposed.
                And after the hard deadline, no submissions will be accepted.

Load Balancer

/load_balancer/nodes_data_conf.json

- Nodes       -> An array of objects in which element provides the URL ('https://' + hostname + ':' +  port = URL) of 
                 an execution nodes currently online and connected to the load balancer.
- server_info -> Provides the URL ('https://' + hostname + ':' +  port = URL) of the main server.
- gitlab      -> Provides the URL ('https://' + hostname + ':' +  port = URL) of the gitlab server.
- database    -> Provides the authentication credentials for the MYSQL databse.
                   Name of the database used in MYSQL= Autolab
- host_port   -> Provides the port though which the load balancer can be accessed.

/execution_nodes/conf.json

- load_balancer -> Provides the URL ('https://' + hostname + ':' +  port = URL) of the load balancer all execution 
                   nodes are connected to.
- gitlab        -> Provides the URL ('https://' + hostname + ':' +  port = URL) of the gitlab server.
- host_port     -> The port the execution node is listening to.

Execution Nodes

/execution_nodes/scores.json

- node_details       -> Provides the URL ('https://' + hostname + ':' +  port = URL) of the execution node.
- submission_details -> Provides the following info for each submission that the execution node processed :- 
                          1. Marks
                          2. Comments
                          3. ID of the submssion
                          4  Lab number of the submission
                          5. Latest commit before submission
                          6. Time of submission
                          7. Status of submission
                          8. Penalty incurred by student due to late submission
                          9. Unique Socket ID of the student