The ER-diagram of the database

  • The two types of users proctor & student are defined using a disjoint specialization.
  • Exam, Course, Device, and Recording are taken as strong entities with relevant primary keys.
  • Since there can be multiple Chats, Warnings and joined times in an examination for a particular student, they are taken as multivalued.
  • To keep track of the device a particular student is using the Device entity is used.
  • Schedules is a ternary relationship connecting the entities Proctor, Course and Exam.

DataBase

...
MongoDB Atlas Cluster

cross-platform document-oriented MongoDB Atlas cluster is used as the database for this project. MongoDB is a NoSQL database that can be expanded horizontally by adding more machines to the resources. Therefore, It’s easy and highly scalable. It supports integrated caching. System memory caching boosts data output performance. MongoDB has no schema hassles. The data model and formats can be modified without impacting applications since a NoSQL database can store the data without requiring a predefined schema.

To connect the application with MongoDB, an additional library is needed. Mongoose is a Node. js-based Object Data Modeling (ODM) library for MongoDB. Mongoose allows developers to enforce a specific schema at the application layer. In addition to enforcing a schema, Mongoose also offers a variety of hooks, model validation, and other features aimed at making it easier to work with MongoDB.

Everything in Mongoose starts with a Schema. Each schema maps to a MongoDB collection and defines the shape of the documents within that collection.

API

Other Phases

Design Architecture

The device on the student's side is capable of capturing the video and audio stream from students continuously even incase of a power ....

Read More

Frontend Implementation

The student can create an account in the platform by registering to the service. Once the students email is verified....

Read More

Hardware Implementation

The proctoring device in the student's side has 2 main components.The raspberry pi 3B+ module with a touch screen,camera, ....

Read More

Testing and Integration

Functional requirements will be tested under three main stages.Unit testing, Integration testing, End-to-end testing ....

Read More