Software Design

This page describes the system designs from different perspectives.

Class Diagram

This diagram describes the interactions between classes of the system.

A generic User can either be a Student or Professor. Only Professor has the access to create topics while the Student only can create a quiz based on a topic or learning outcomes of a topic.

The GenerateQuiz class helps generates quizzes based on a set of criterias set by a Student. In each Quiz, there are a set of questions and a student's response or submission for it.

)


Architecture/Component Diagram

This diagram describes the high-level components of the system such as the server, backend and frontend logic. The Django Backend and React Frontend will be deployed using Docker on Cybera servers. The backend and frontend will interact with each other using RESTful APIs.

ComponentDiagram


This diagram describes the core dynamic behaviors of the system.