Quick Quiz Zz
Quick Quiz Zz
By:
Kashyap Gorasiya (2413103)
Manvi Jain (2413105)
Nimra Sayed (2413106)
Nomaan Akhtar (2413108)
Introduction:
This presentation will outline the specifications for a Quiz Web App.
It will cover the functionalities for user registration, login, and logout
for all user roles, including Admin, Teacher, and Student.
Additionally, it will discuss the features and technologies used in the
backend and frontend development of the app, as well as additional
features and the roles and responsibilities of the development team.
Features:
• Supports MCQ, MSQ, NAT question types
• Time-limited quizzes with auto-submit feature
• Shuffled questions for each student
• Teacher-controlled infinite time option for quizzes
• Quiz dashboard for performance analytics
System Architecture:
Working:
1. Start (User Login) 2. Admin Workflow
● Handles: ● Displays:
○ Authentication and user role-based access control. ○ User interface for Admin, Teacher, and Student roles.
○ Session management (prevents login from multiple ○ Quiz interface for students (question navigation, timer).
devices). ○ Dashboards for Admin and Teacher (quiz creation,
○ Validates and processes quiz data. student reports).
○ Enforces quiz rules (time limit, random questions,
auto-submit).
Security
Database (SQLite3)
● Session Control: Prevents multiple logins by the same user on
● Stores: different devices.
○ User data (Admin, Teacher, Student) ● Role-Based Access Control (RBAC): Ensures actions are
○ Quiz data (questions, answers, results) restricted based on user roles (Admin, Teacher, Student).
○ Reports and analytics data for teachers and students. ● Data Flow: Encrypted communication via HTTPS between
frontend and backend.
System Design Perspective:
Modularity Client-Server Architecture
○ Admin Module ○ Frontend (Client):
○ Teacher Module ■ Built using HTML, Bootstrap, and jQuery to
○ Student Module manage user interactions for Admin, Teacher, and
● Each module interacts with the backend and database Student.
independently, reducing coupling and allowing each module to be ○ Backend (Server):
updated or changed without affecting the others. ■ Built using Python Django for managing user
requests, authentication, session control and
session management.
Session Management Concurrency and Scalability
● The system maintains sessions to handle user authentication. ● The system is designed to handle multiple users (Teachers,
○ When a user logs in, a session is created, which is stored
Students) interacting with the application simultaneously.
server-side in the backend and mapped to the database.. ● The system can be scaled horizontally by deploying multiple
○ Sessions are also used to manage quiz time limits and
backend instances, each serving a portion of the users, especially
auto-submit quizzes once the time expires.
when dealing with many students taking quizzes simultaneously.
DJANGO APPS
FRONT END
DATABASE
FILE
Progress: