The website component of Submitty, where submission, TA grading, etc. happens is written in PHP following the Model-View-Controller design pattern. This paradigm allows for organized modular development, unit testing, and integration of the parts.
- 
    Models hold data, which is often loaded from the database. For example, a hypothetical UserModelwould hold information about a user, like their name or favorite color.
- 
    Views render visual information. In this sample example, the UserViewwould house functions which involve displaying information about a user.
- 
    Finally, Controllers perform logic. For example, if you want to load the corresponding See User Detailspage, you might call the functionuserDetailsPagein theUserController.
