User interact with the system using shell.
Shell uses fork and execve to forward commands to the requesting program in the bin directory.
Server registers functions in the specified path.
Request carry the path to the function. Server fork a process to response the request.
All the function of the frontend and backend are independent of the main program, so as to realize the expandability of the system.
use command tree to view the tree.
use command useradd edit user's information.
use command courseadd edit courses's information.
use command new to create chapters in order.
use command vim to create homework template.
use command assign to assign homework.
A homework consists of multiple problems.
A problem consists of question, type, answer, score.
The box directory is used to receive student's homework.
use command check append with filename to check the student's homework.
use command grade under course's dir to check students's grades.
use command vim to open homework.
use command commit to commit homework.
Extract the answers from the homework
Sent it to teacher's box.
use command check to open homework.
use command grade under course's dir to check the grade.