Report 12
Report 12
Submitted by
210160111011
BACHELOR OF ENGINEERING
In
Electronics and Communication Engineering
Government Engineering College, Modasa
Ahmedabad
January 20, 2025 – April 20, 2025
1
GOVERNMENT ENGINEEERING COLLEGGE MODASA
Shamlaji Road, Aravalli District, Modasa
CERTIFICATE
This is to certify that the project report submitted along with the project entitled
2
GOVERNMENT ENGINEEERING COLLEGGE MODASA
Shamlaji Road, Aravalli District, Modasa
DECLARATION
I hereby declare that the Internship / Project report submitted along with the
MORADIYA and that no part of this report has been directly copied from any
students’ reports or taken from any other source, without providing due reference.
3
ABSTRACT
develop knowledge about frontend web development requirements among it’ s users.
The users can login and take up the quiz challenge to test their skills. It stores the data
into a database in a sequential manner which can be easily retrieved when needed. The
goal of this software is to provide easy accessing and manipulation of data from
multiple systems. The software “Quiz Management System” is developed by using the
system so that multiple systems can access and manipulate the database. The database
4
ACKNOWLEDGEMENT
to my Internal Guide Ms. Tilak Moradiya and our HOD C.R Parekh for
With Regards
Chandawat JatinKumar NavneetKumar
ERoll no: 210160111011
5
DECLARATION
I hereby declare that the project entitled, “Quiz Management System” done at
“Government Engineering College Modasa”, has not been in any case duplicated
to submit to any other university for the award of any degree to the best of my
knowledge other than me. No one has submitted to any other university.
This project is done in partial fulfillment of the requirements for the award of degree
our curriculum.
6
TABLE OF CONTENTS
Chapter 1
Introduction
Languages ..................................................................................................... 17
JavaScript ......................................................................................................22
MySQL .........................................................................................................25-26
Chapter 3
7
3.6. Hardware and Software Requirements ....................................................38-39
3.8. Flowchart……………………………………………………………….44
Chapter 4
System Design
Chapter 5
Screenshots
1. Index.html …………………………………..59-61
2. urls.py ……………………………………….62-64
4. models.py ………………………………………68-70
5. admin.py …………………………………..70-71
Chapter 7
Conclusion
9
Ch 1. INTRODUCTION
1.1. OVERVIEW
🎯 Purpose: A Quiz Task Management System is designed to manage and streamline the process of
creating, assigning, attempting, and evaluating quizzes or assessments. It supports different user roles
(Admin, Teacher, Student) and offers features like quiz scheduling, auto-grading, real-time performance
tracking, and user management.
1.2. OBJECTIVE
Objective:
To create a web-based system that allows users (students, teachers, admins) to manage, take, and evaluate
quizzes efficiently, while providing role-based access and real-time task management.
👥 User Roles:
history
1.3. BENEFITS:
• Centralized quiz and task management.
• Real-time monitoring and auto-evaluation.
• Saves time for teachers with automated processes.
• Improves student performance tracking.
10
• Ensures secure and fair quiz participation.
11
1.4 🧭 Identification of Needs – Quiz Task Management System :
To design an efficient Quiz Task Management System, it's important to identify the core needs
of all stakeholders—students, teachers, and administrators. These needs define the system’s
functionality and usability.
🎯 Key Needs:
1. Efficient Quiz Creation & Management o Teachers need tools to easily create, edit,
and assign quizzes with time limits and multiple-choice questions.
2. User Role Management o Role-based access (Admin, Teacher, Student) to ensure secure and
personalized experiences.
3. Seamless Quiz Attempt Experience o Students need a user-friendly interface with features
like "Save & Next", timers, and progress indicators.
4. Automated Evaluation & Results o Auto-grading of MCQs to save time and provide
instant feedback to students.
5. Progress & Performance Tracking o Users require access to scores, history, and analytics
to monitor improvement over time.
6. System Accessibility & Navigation o A responsive, well-structured UI with simple
navigation and mobile compatibility.
7. Security & Data Integrity o Secure login, session handling, and data protection for quiz
attempts and user information.
8. Notifications & Reminders o Alerts for upcoming quizzes, submission deadlines, and new
assignments.
12
1.5 🔧 Core Features:
1. Authentication System
2. Quiz Management
4. Quiz Participation
• Auto-grading system
6. Performance Tracking
8. UI & UX
• User-friendly dashboards
13
1.6 🗂️ Tech Stack:
14
Ch 2. SURVEY OF TECHNOLOGY
• Home Page
• Login/Signup Page
• Dashboard (Admin/Teacher/Student)
• Quiz Interface
• Results/Reports Page
• Feedback & Contact Forms
Example: html
CopyEdit
<h1>Welcome to the Quiz Portal</h1>
<form action="/submit-quiz" method="POST">
<p>1. What is the capital of India?</p>
<input type="radio" name="q1" value="A"> A. Delhi<br>
<input type="radio" name="q1" value="B"> B. Mumbai<br>
<input type="submit" value="Submit">
</form>
15
🎯 2. Defining Quiz Elements HTML
is used to render:
• Timer placeholders
• Navigation buttons like "Save", "Next", "Previous", and "Submit"
• Quiz answers
• Login credentials
• Feedback messages
• Admin or teacher quiz creation inputs
</nav>
💡 5. Content Organization
HTML tags like <div>, <section>, <header>, <footer>, <table>, etc., help structure content clearly and logically.
Example:
16
• Use <table> to show result reports.
• Use <footer> to display contact links or app version.
17
Languages
1. HTML :
HTML (HyperText Markup Language) is the foundation of all web pages. In a task or quiz management
system, it defines the structure and content of the interface that users interact with.
HTML is used to create the layout and elements of each page, such as:
• Home Page
• Login/Signup Page
• Dashboard (Admin/Teacher/Student)
• Quiz Interface
• Results/Reports Page
Example: html
CopyEdit
</form>
18
🎯 2. Defining Quiz Elements HTML
is used to render:
• Timer placeholders
• Quiz answers
• Login credentials
• Feedback messages
provides:
Example: html
CopyEdit
<nav>
<a href="/home">Home</a>
<a href="/quizzes">Quizzes</a>
<a href="/results">Results</a>
</nav>
19
💡 5. Content Organization
HTML tags like <div>, <section>, <header>, <footer>, <table>, etc., help structure content clearly and logically.
Example:
HTML:
Together, HTML, CSS, and JavaScript form the frontend layer of the quiz/task system.
20
2. CSS :
CSS is responsible for styling your web application — it defines how your content looks and feels. In a
task or quiz system, this is essential for making the interface clear, interactive, and user-friendly.
• Helps distinguish between roles visually (e.g., different dashboard layouts for student vs. teacher).
Example: Highlighting the active quiz, showing completed tasks in green, etc.
• CSS (especially with media queries or frameworks like Bootstrap) ensures that the app works well
on desktops, tablets, and phones.
• CSS controls layout structures using Flexbox and Grid, making it easy to:
neatly
21
• Visually indicate selected options, current questions, or "Save & Next" buttons.
Example: A blinking red timer when only 1 minute is left.
• Show right/wrong answers with color codes (e.g., green for correct, red for incorrect).
• Display success, error, or warning messages after actions like form submission.
22
3. JavaScript :
⚙️ Role of JavaScript in a Task/Quiz Management System
While Django handles the server-side logic, JavaScript enhances the client-side (frontend) experience by adding
interactivity and responsiveness.
🟩 3. Form Validation
• Checks if all required fields are filled (like quiz answers or signup info) before sending to the server.
• Prevents unnecessary server requests and improves UX.
🔵 5. Interactive Elements
• Show/hide quiz sections
• Animate transitions between tasks or dashboard items
• Enable dark/light mode toggle, tooltips, modals
23
4. Django Python :
🐍💻 Why Use Django (Python) for a Quiz Task Management System?
✅ 1. Rapid Development
Django follows the “batteries-included” philosophy — it comes with built-in features like authentication, admin
panel, database ORM, and routing. This allows you to build complex web apps like quiz systems quickly and
efficiently.
🔐 2. Built-in Authentication
User role management (Admin, Teacher, Student) is super easy with Django's built-in authentication system,
which handles login, signup, logout, password hashing, permissions, and sessions securely.
Django ORM lets you define database tables as Python classes (models), making database operations like quiz
creation, student answers, and score storage easy and clean without writing raw SQL.
📊 4. Admin Dashboard
Django comes with an auto-generated admin panel, which is great for managing users, quizzes, questions, and
results—perfect for admins and teachers.
🔒 5. Security
• SQL injection
• Clickjacking
This makes it a secure choice for managing sensitive data like user credentials and scores.
Django has a huge community, meaning tons of tutorials, packages, and support. The official documentation is
excellent and updated regularly.
25
5. MySQL :
🛢️ Why Use MySQL in a Task/Quiz Management System?
MySQL is a fast, secure, and reliable database system—perfect for managing structured quiz/task data
in a scalable and professional way, especially when paired with Django in a full-stack web app.
26
🔄 4. Easily Integrates with Django
Django supports MySQL natively via mysqlclient or PyMySQL, making integration straightforward. You
just define the database settings in settings.py, and Django handles the rest.
27
Ch 3. REQUIREMENT AND ANALYSIS
📌 1. Introduction
The Task/Quiz Management System is a web-based platform developed using Django (Python) that
allows Admins, Teachers, and Students to manage quizzes, tasks, and their results. It ensures secure
login, timed quizzes, answer evaluation, and result tracking.
👥 User Roles:
• Admin: Manages users, quizzes, and the platform.
• Teacher: Creates and manages quizzes/tasks.
• Student: Takes quizzes and views results.
🔐 Authentication:
• User signup, login, and logout
• Role-based access control (admin, teacher, student)
🧠 Quiz Features:
• Create quizzes with MCQs (options A–D)
• Add timer to quizzes (JavaScript timer)
• “Save & Next” functionality
• Submit and auto-grade quizzes • View scores and correct answers
📊 Result/Reports:
• Store and view scores
• Generate leaderboard or performance reports
📝 Static Pages:
• Home, About, Features, Contact, FAQ, Feedback
⚙️ Performance:
• Should support multiple concurrent users
• Fast quiz loading and submission
🔒 Security:
• Password hashing
• CSRF protection
• Session-based login • Restricted access to roles
💾 Reliability:
• Data should not be lost or corrupted
• Backup options available
🌍 Portability:
• Works on Windows, macOS, Linux • Mobile/tablet responsive (Bootstrap-based)
📈 Scalability:
• Should scale to handle many quizzes, users, and submissions
🧰 4. Software Requirements
✅ Frontend:
• HTML5, CSS3, JavaScript • Bootstrap (for responsive UI)
✅ Backend:
• Python 3.x
• Django 4.x or later
✅ Database:
• MySQL (or SQLite for development/testing)
29
✅ Tools:
• Visual Studio Code (IDE)
• Browser (Chrome, Firefox)
• Postman (for API testing, optional)
30
o Teachers and students have distinct roles with different levels of access.
• Quiz Creation and Management:
o Teachers can create, edit, and delete quizzes with multiple-choice questions.
o Students can take quizzes, submit answers, and view their results.
• Timer and Scoring:
o A real-time timer should be implemented for each quiz.
o Automatic scoring should be done once a quiz is completed.
• Leaderboard: o Display student rankings based on their quiz scores.
• Reporting:
o Teachers and admins should generate performance reports on quiz results.
2. Non-Functional Requirements:
• Usability:
o Simple and intuitive user interface for teachers and students.
o Responsive design for access on multiple devices.
• Performance: o The system should be able to handle a large number of users and quizzes
simultaneously.
• Security:
o User data should be encrypted, and role-based access should be enforced to restrict
unauthorized actions.
• Scalability: o The system should support future growth in terms of users and quizzes.
3. System Requirements:
• Software: Django framework for backend, PostgreSQL/MySQL for database, Bootstrap for
frontend design.
• Hardware: Web server (Apache/Nginx), cloud hosting (e.g., AWS, DigitalOcean).
• Browser: Latest versions of Chrome, Firefox, or Safari for best compatibility.
4. User Requirements:
• Teachers: Need tools to create, manage quizzes, and view student performance.
• Students: Require an interface to take quizzes, view results, and track progress.
• Admins: Need to manage users, monitor system activity, and generate reports.
31
Feasibility Study :
Feasibility Study for Quiz Task Management System
1. Technical Feasibility:
• Technology Stack: The system will use Django for backend development and Bootstrap for frontend
design. These technologies are widely supported and suitable for building scalable web
applications.
• Database: PostgreSQL or MySQL will be used for database management, ensuring efficient data
storage and retrieval.
• Infrastructure: Can be deployed on standard web servers (e.g., Apache, Nginx) and cloud platforms
(e.g., AWS, DigitalOcean).
2. Operational Feasibility:
• Ease of Use: The platform will be intuitive for both teachers and students. Teachers will have simple
interfaces for quiz creation, while students will easily navigate quiz attempts and view results.
• User Adoption: The system is designed to meet the needs of educational institutions, and user
feedback from teachers and students suggests it will be widely accepted.
3. Economic Feasibility:
• Development Costs: The project uses open-source technologies (e.g., Django, PostgreSQL),
reducing development and licensing costs.
• Operational Costs: Hosting and server costs are affordable, with options for scaling as user demand
increases.
• Return on Investment: The system provides educational institutions with a valuable tool for quiz
management, with potential savings in administrative work and enhanced learning experiences.
4. Legal Feasibility:
• Data Protection: The system will comply with data protection laws like GDPR and CCPA to ensure
user data privacy.
• Licensing: The use of open-source frameworks and libraries ensures the project complies with
relevant licenses.
5. Schedule Feasibility:
• The project can be developed and deployed within 3-4 months, with continuous improvements and
updates after initial launch.
32
• Security Testing: Test for vulnerabilities (e.g., data breaches, unauthorized access) to ensure secure
user authentication and data protection.
• User Acceptance Testing (UAT): Real-world testing with teachers, students, and admins to ensure
the system meets user expectations and is ready for deployment.
2. Implementation:
• Deployment: Deploy the system on a live server (e.g., AWS, DigitalOcean), ensuring proper
configuration for production use.
• Data Migration: If necessary, migrate existing data (e.g., user profiles or previous quiz data) into
the live database.
• User Training: Provide documentation or training sessions for teachers, students, and admins on
how to use the system effectively.
• Post-Implementation Support: Provide ongoing support for bug fixes, performance optimization,
and user feedback incorporation.
Evalutaion
Evaluation of Quiz Task Management System
1. Functionality Evaluation:
• Objective: Assess if all system features (quiz creation, taking quizzes, scoring, leaderboard, admin
management) function as intended.
• Method: Conduct user acceptance testing (UAT) with teachers, students, and admins to ensure they
can successfully interact with the system.
2. Usability Evaluation:
• Objective: Evaluate the system’s user interface and user experience (UI/UX).
• Method: Gather feedback from end users on the ease of navigation, quiz creation, and result
viewing.
3. Performance Evaluation:
• Objective: Test the system’s response time, scalability, and overall performance under heavy usage.
• Method: Simulate multiple users accessing the system concurrently to ensure it can handle traffic
without lag or crashes.
4. Security Evaluation:
• Objective: Assess the security features of the system to protect user data and prevent unauthorized
access.
• Method: Perform penetration testing to identify potential vulnerabilities, including data breaches
and unauthorized access to sensitive data.
5. Technical Evaluation:
33
• Objective: Review the technical architecture and codebase for scalability, maintainability, and
optimal performance.
• Method: Conduct code reviews and stress testing to evaluate system robustness and code quality.
• Objective: Assess if all system features (quiz creation, taking quizzes, scoring, leaderboard, admin
management) function as intended.
• Method: Conduct user acceptance testing (UAT) with teachers, students, and admins to ensure they
can successfully interact with the system.
2. Usability Evaluation:
• Objective: Evaluate the system’s user interface and user experience (UI/UX).
• Method: Gather feedback from end users on the ease of navigation, quiz creation, and result
viewing.
3. Performance Evaluation:
• Objective: Test the system’s response time, scalability, and overall performance under heavy usage.
• Method: Simulate multiple users accessing the system concurrently to ensure it can handle traffic
without lag or crashes.
4. Security Evaluation:
• Objective: Assess the security features of the system to protect user data and prevent unauthorized
access.
• Method: Perform penetration testing to identify potential vulnerabilities, including data breaches
and unauthorized access to sensitive data.
5. Technical Evaluation:
• Objective: Review the technical architecture and codebase for scalability, maintainability, and
optimal performance.
• Method: Conduct code reviews and stress testing to evaluate system robustness and code quality.
34
Maintenance and modification :
Maintenance and Modification for Quiz Task Management System
1. Regular Maintenance:
• Bug Fixes: Addressing any software issues or glitches reported by users (e.g., errors in quiztaking,
scoring inaccuracies).
• System Updates: Keeping the Django framework, libraries, and database systems up to date to
ensure security and optimal performance.
• User Feedback: Incorporating feedback from teachers and students to enhance system usability and
fix any functional issues.
2. Feature Modifications:
• Adding New Features: Introducing additional features like more quiz question types (e.g.,
true/false, short answer), enhanced reporting, or integration with other educational tools.
• UI/UX Enhancements: Improving the user interface based on user feedback (e.g., more intuitive
quiz creation tools or better student performance dashboards).
3. Performance Optimization:
• Database Optimization: Improving database queries for faster quiz creation, result processing, and
leaderboard updates.
• Scalability: Modifying the system to support a larger number of users or quizzes as the platform
grows.
4. Security Enhancements:
• Data Protection: Regularly updating security protocols to safeguard sensitive user data (passwords,
results) and prevent data breaches.
• Authentication Updates: Enhancing user authentication mechanisms for added security (e.g.,
twofactor authentication).
5. Documentation:
• Keeping system documentation updated to reflect new features, system changes, and
troubleshooting steps for future reference.
35
3.2. PRELIMINARY INVESTIGATION
Preliminary Investigation for Quiz Task Management System
1. Problem Identification:
• The need for an efficient, scalable system that allows teachers to create, manage, and evaluate
quizzes, and for students to take quizzes, view results, and track performance.
• Lack of a unified platform for quiz management and real-time feedback in educational
environments.
2. Purpose of the System:
• To streamline quiz creation, taking, and scoring.
• To provide a system for teachers to manage quizzes and monitor student performance.
• To offer students an interactive platform for quiz attempts and to track their progress.
3. Scope:
• Teachers: Create, edit, delete quizzes, view student results.
• Students: Take quizzes, view scores, and compare rankings.
• Admins: Manage users, monitor system activity, and generate reports.
4. Stakeholders:
• Teachers: Primary users who will create and manage quizzes.
• Students: Secondary users who will take quizzes and receive feedback.
36
• Admins: Oversee the system, ensure smooth functioning, and manage user access.
5. Data Collection:
• Surveys/Interviews: To gather insights from potential users (teachers and students) on requirements
and expectations.
• Existing Systems: Review of existing quiz management systems to identify gaps and areas for
improvement.
6. Feasibility Considerations:
• Technical: Availability of tools like Django for backend and PostgreSQL for database management.
• Operational: Ease of use and adoption by teachers and students.
• Financial: Affordable development and hosting costs.
7. Initial Findings:
• There is a demand for an easy-to-use platform for quiz management.
• Teachers need a simple interface to create and manage quizzes.
• Students require real-time results and leaderboard features for motivation.
37
A feasibility report is a critical document that evaluates the practicality and viability of
developing a Quiz Task Management System. It provides insights into the project's potential
success by examining various factors such as technical, operational, economic, and legal
considerations.
Feasibility Analysis
1. Technical Feasibility
• Technology Stack: The system will use Django for backend development and Bootstrap for frontend
responsiveness. These technologies are well-suited for building scalable web applications.
• Database: PostgreSQL or MySQL will handle data storage for quizzes, users, and results, ensuring efficient
data management.
• Infrastructure: The application can run on standard web servers like Apache or Nginx with Gunicorn for
deployment.
2. Operational Feasibility
• User Experience: The system will be user-friendly, with intuitive interfaces for teachers, students, and
admins. It will support easy quiz creation, taking quizzes, and viewing results.
• Performance: The system is designed to handle multiple users simultaneously with quick response times,
aided by Django's built-in caching and efficient database design.
3. Economic Feasibility
• Development Costs: Using open-source technologies like Django and PostgreSQL ensures low initial
development and maintenance costs.
• Hosting Costs: The system can be hosted on affordable cloud platforms like AWS, DigitalOcean, or shared
hosting for low to medium traffic levels.
4. Legal Feasibility
• Data Protection: The system will ensure user data privacy and comply with regulations like GDPR or
CCPA by implementing secure authentication and encrypted data storage.
• Licensing: Open-source libraries and frameworks will be used, ensuring compliance with their respective
licenses.
5. Schedule Feasibility
• Timeline: The system can be developed in phases, with the first version being ready in approximately 3-4
months (based on team size and resources).
38
3.4. SYSTEM ANALYSIS
3.5. Hardware and Software Requirements for Quiz Task Management System
1. Server:
o Processor: Minimum 2.0 GHz dual-core processor. o RAM: Minimum 4 GB.
1 GB free space.
39
o Network: Internet access for online quizzes and features.
4. Web Server:
o Apache or Nginx (for production deployment).
o Gunicorn (WSGI server for Django).
5. Frontend:
o HTML5, CSS3, JavaScript.
o Bootstrap for responsive design.
6. Additional Tools:
o Git for version control. o Text Editor/IDE:
40
3.6 DATA FLOW DIAGRAM
DFD is an important tool used by system analysis. The main merit of DFD is that it can provide an overview
of what data a system would process.
Symbols:
Process
Entity
Data Flow
Data Store
41
3.6.2. LEVEL 1 DFD
42
3.6.3. LEVEL 2 DFD
43
3.7. ER DIAGRAM
44
3.8. FLOW CHART
A flowchart is a diagram that depicts a process, system or computer algorithm. They are widely used
in multiple fields to document, study, plan, improve and communicate often complex processes in
clear, easy-to-understand diagrams. Flowcharts, sometimes spelled as flow charts, use rectangles,
ovals, diamonds and potentially numerous other shapes to define the type of step, along with
connecting arrows to define flow and sequence.
Login:
45
Ch.4 SYSTEM DESIGN
System Design for Quiz Task Management System
1. Architecture:
o Model-View-Controller (MVC): The system follows the MVC architecture for clean
separation of concerns.
▪ Model: Represents the database structure (e.g., users, quizzes, questions, results).
▪ View: Handles the frontend UI (HTML templates, CSS, JavaScript).
▪ Controller: Manages user interactions and business logic (Django views).
2. Modules:
o User Authentication: Manages user registration, login, and role-based access control
(teachers, students, admins).
o Quiz Management: Allows teachers to create, edit, delete, and manage quizzes. o Quiz
Taking and Scoring: Manages the quiz-taking process and calculates scores. o
Leaderboard: Displays student rankings based on quiz results. o Admin
Management: Admins can manage users and oversee the system.
o Reporting and Analytics: Generates performance reports.
3. Database:
o Relational database (e.g., PostgreSQL or SQLite) to store user data, quizzes, questions,
answers, and scores.
4. Frontend:
o HTML for structure, CSS for styling, and JavaScript for interactivity (e.g., timers, form
validation).
o Bootstrap for responsive design.
5. Backend: o Django framework for handling business logic, database interactions, and
routing.
6. Security:
o Password encryption using Django’s built-in authentication system.
o Role-based access control to restrict access to certain features.
In order to complete the tasks of the Application and to get output by using this application work, there is need
of some input based on the work that is to be carried out by using it. Input required for different purposes are:
Input to the Quiz Task Management System
1. User Data:
o Teachers and students input their personal details during registration (e.g., username, email,
password).
2. Quiz Data:
o Teachers input quiz titles, descriptions, categories, and add multiple-choice questions
(options and correct answers).
3. Answers:
o Students input their answers during quiz attempts (choosing options for each question).
4. Quiz Settings: o Teachers set time limits, categories, and other parameters for each quiz.
5. Results and Scores:
46
o Students submit quizzes, and teachers input results (either manually or via automated
scoring).
6. Reports:
o Teachers or admins provide data for report generation (e.g., performance metrics, quiz
results).
7. Notifications:
o Admins or the system may input event triggers for sending notifications (e.g., reminders for
upcoming quizzes).
1. User Interface:
o A responsive web platform with clear navigation for teachers, students, and
admins. o Pages: Home, Login, Signup, Dashboard (Teacher/Student),
Leaderboard, Quiz Pages, Results, Admin Dashboard.
2. Functionality:
o Teachers can create, edit, and manage quizzes, view student results, and manage
quiz data.
o Students can take quizzes, view scores and rankings on the leaderboard, and
review past attempts.
o Admins can manage users, oversee quizzes, and monitor system activity. 3.
Database:
4. Real-time Timer: o Countdown timer for quizzes to ensure time limits are respected.
5. Leaderboard: o Displays rankings based on quiz scores, providing competitive motivation for
students.
6. Reporting:
o Teachers and admins can generate performance reports and analyze student data.
7. Notifications (Optional):
4. Leaderboard Module:
o Functions: Displays student rankings and quiz scores.
48
4.4. DATA INTEGRITY
Data integrity is the overall completeness, accuracy and consistency of data. This can be indicated by
the absence of alteration between two instances or between two updates of a data record, meaning data
is intact and unchanged. Data integrity is usually imposed during the database design phase through
the use of standard procedures and rules. The concept of data integrity ensures that all data in a
database can be traced and connected to other data. This ensures that everything is recoverable and
searchable. Having a single, well-defined and well-controlled data integrity system increases stability,
performance, reusability and maintainability. Data values are standardized according to a data model
and data type. All characteristics of the data must be correct including business rules, relations, dates
and definitions for data to be complete. Data integrity is imposed within a database when it is designed
and is authenticated through the ongoing use of error checking and validation routines. As a simple
example, to maintain data integrity numeric columns/cells should not accept alphabetic data
Store_ans: This table stores the answer to each question of the quiz marked by each user
50
4.6 NORMALIZATION
0NF 1NF
51
Ch 5. SCREENSHOTS
Admin page
52
Home Page
Dashboard Page
53
1. Student dashboard
2. Teacher dashboard
54
Multiple Quizzes Page
Profile Page
55
Edit Profile Page.
Leaderboard Page.
56
Logout Page.
About Us Page.
57
Features Page.
Feedback Page.
58
FAQ’s Page.
Contact Page .
59
Ch 6. PROGRAM CODE AND TESTING
Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Quiz Platform</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
padding-top: 56px;
}
.hero {
background: #f8f9fa;
padding: 80px 0;
text-align: center;
}
.hero h1 {
font-size: 3rem;
}
.hero p {
font-size: 1.2rem;
}
.feature-icon {
font-size: 3rem;
color: #0d6efd;
}
footer {
background-color: #343a40;
color: white;
padding: 20px 0;
}
footer a {
color: #adb5bd;
60
text-decoration: none;
}
</style>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.js"></script>
</body>
</html>
62
Urls.py
urlpatterns = [
path("", views.index,
name='home'),
path("login.html", views.login,
name='login'),
path("signup.html",
views.signup, name='signup'),
path("logout.html",
views.logout, name='logout'),
path("profile.html",
views.profile, name='profile'),
path("edit_profile.html",
views.edit_profile,
name='edit_profile'),
path('leaderboard.html',
views.leaderboard,
name='leaderboard'),
path('quizzes.html',
views.quizzes, name='quizzes'),
63
path('quiz_detail.html',
views.quiz_detail,
name='quiz_detail'),
path('quiz_form.html',
views.quiz_form,
name='quiz_form'),
path('JeeExam.html',
views.JeeExam,
name='JeeExam'),
path('ReetExam.html',
views.ReetExam,
name='ReetExam'),
path('NeetExam.html',
views.NeetExam,
name='NeetExam'),
path('RRBExam.html',
views.RRBExam,
name='RRBExam'),
path('home.html', views.home,
name='home'),
path('index.html', views.index,
name='index'),
path('teacher_dashboard.html',
views.teacher_dashboard,
name='teacher_dashboard'),
64
path('student_dashboard.html',
views.student_dashboard,
name='student_dashboard'),
path("about_us.html",
views.about_us,
name='about_us'),
path("features_section.html",
views.features_section,
name='features_section'),
path("feedback_section.html",
views.feedback_section,
name='feedback_section'),
path("faq_section.html",
views.faq_section,
name='faq_section'),
path("contact_section.html",
views.contact_section,
name='contact_section'),
path("choice_quiz.html",
views.choice_quiz,
name='choice_quiz'),
path("teacher_dashboard.html",
views.teacher_dashboard,
name='teacher_dashboard'),
path("student_dashboard.html",
views.student_dashboard,
name='student_dashboard'), ]
65
Views.py
#from django.shortcuts import render, HttpResponse
from django.shortcuts import render, redirect
#from django.contrib.auth.models import User
from django.shortcuts import render
def index(request):
return render(request, "index.html")
def login(request):
return render(request, "login.html")
def signup(request):
return render(request, "signup.html")
def logout(request):
return render(request, "logout.html")
def profile(request):
return render(request, "profile.html")
def edit_profile(request):
return render(request, "edit_profile.html")
def leaderboard(request):
return render(request, "leaderboard.html")
def quizzes(request):
return render(request, "quizzes.html")
def quiz_form(request):
return render(request, "quiz_forms.html")
def JeeExam(request):
return render(request, "JeeExam.html")
def RRBExam(request):
return render(request, "RRBExam.html")
def NeetExam(request):
return render(request, "NeetExam.html")
66
def ReetExam(request):
return render(request, "ReetExam.html")
def home(request):
return render(request, "home.html")
def feedback_section(request):
return render(request, "feedback_section.html")
def features_section(request):
return render(request, "features_section.html")
def faq_section(request):
return render(request, "faq_section.html")
def contact_section(request):
return render(request, "contact_section.html")
def about_us(request):
return render(request, "about_us.html")
def quiz_detail(request):
return render(request, "quiz_form.html")
def choice_quiz(request):
return render(request, "choice_quiz.html")
def teacher_dashboard(request):
return render(request, "teacher_dashboard.html")
def student_dashboard(request):
return render(request, "student_dashboard.html")
67
models.py
#from django.db import models
def __str__(self):
return f"{self.user.username} - {self.user_type}"
def __str__(self):
return self.name
def __str__(self):
return self.title
def __str__(self):
return f"{self.quiz.title} - {self.text[:30]}..."
def __str__(self):
return f"{self.user.username} - {self.quiz.title} ({self.score})"
def __str__(self):
return f"Feedback from {self.name}"
def __str__(self):
return f"Contact: {self.name} - {self.subject}
69
admins.py
#from django.contrib import admin
71
forms.py
from django import forms from django.contrib.auth.models import User
from .models import ContactMessage, Feedback, Quiz, Question, Profile
class Meta:
model = User fields = ['username',
'email', 'password']
def clean(self):
cleaned_data = super().clean() password =
cleaned_data.get("password") confirm_password =
cleaned_data.get("confirm_password")
if password != confirm_password:
raise forms.ValidationError("Passwords do not match")
return cleaned_data
73
6.2. TESTING APPROACH
Types Of Testing
The system was designed according to the requirement of the system. But we are not 100% confidants.
The lack of confidence stems from several things. First the system deals with large number of states,
complex logic and activities. So some error might occur in the system. Error may be software, which
is known as “SOFTWARE ERROR” i.e. the software doesn’t do what the requirement says. So and
exhaustive and thorough testing must be conducted to ascertain. Whether the system produces right
results. The project guide and the user both did testing.
Module Testing
The testing was done and several stages. First each program module was tested as a single program,
which is also known as module testing or unit testing. In unit testing asset of data as input was given
to the module and observed what output data is produced. In addition, the logic and boundary condition
for input and output data was also checked. The interface between this module and others was checked
for correctness. While collecting the input data for testing the program module it was kept in mind
that input should be from all classes, so the entire condition of the program could also be checked.
Interogating Testing
When the individual program modules were working properly, we combine the module in the working
system. This integration is planned and coordinated so that when an error occurs, we have an idea of
what caused it. Integration testing is the process of verifying that the components of a system work
together as described in the program design specification. For testing, the system was viewed as a
hierarchy of modules. We began with the module at the highest level of design and worked down. The
next modules to be tested are those that call previously tested modules.
Function Testing
Once we sure that information is passed among modules according to the design prescription we tested
the system to assure whether the function described the requirement specification are actually
performed by the integrated system.
Acceptance Test
When the function test completes then we involved the user to make sure that system works according
to the user’s expectation. Thus, the user did the acceptance test. Implementation
Once the system was tested (module wise as well as integrated) satisfactorily, and then comes the
implementation of the system. Implementation is the process of changing from old system (manual)
to the new system (computerized). Some training was also given to the user about how to work on the
new system and finally the system was successfully adopted.
74
6.2.1 USE CASE DIAGRAM
75
Ch 7. CONCLUSION
7.1 LIMITATIONS
The size of the database increases day-by-day, increasing the load on the database backup and data
maintenance activity.
Instead of providing a specific time for each question, a specific time can be specified for the project as
a whole.
There can be a bunch of multiple questions from which admin can choose some as part of quiz because
as of know whatever questions are in database every question becomes part of the quiz.
It don’t have any industrial implementation, it is just applicable to be implemented on a small scale.
After analysing the answer pattern of questions by the user, we can improve the type of questions based on
where majority is going wrong,etc.
A basic tutorial on the quiz can be provided before starting the quiz.
The order of the question can be altered along with the options for the quiz.
A specific time and date can be added from admin’s end to start the quiz.
This project can be further customized and additional features /improvements can be made.
76
77