E-Quiz Final
E-Quiz Final
E-Quiz Final
A PROJECT REPORT
Submitted by
SWAGATIKA BISWAL
+2 2nd year science
1
CERTIFICATE
This is to certify that the Project /
Dissertation entitled E- QUIZ is a bonafide
work done by SWAGATIKA BISWAL of class XII
Session 2022-24 in partial fulfillment of
CHSE Examination 2024 and has been
carried out under my direct supervision and
guidance. This report or a similar report on
the topic has not been submitted for any
other examination and does not form a part
of any other course undergone by the
candidate.
Mr.Manash Ranjan
SamantAray
LEct. In computer science
Mr.Biswajit
Tripathy
Principal
2
ACKNOWLEDGEMENT
I
3
SWAGATIKA BISWAL
CONTENTS
1.
Introduction-------------------------------------------------------------------------
----
3. Theoretical
Background-----------------------------------------------------------------
5. System
Implementation------------------------------------------------------------------
4
7.2 Database Design-----------------------------------------------------------------------
7. User
Manual----------------------------------------------------------------------------
8.
References---------------------------------------------------------------------------
----
Introduction
6
✓ To provide a user friendly and Graphical User Interface (GUI).
✔ The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
✓ To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.
✓ To identify the critical operation procedure and possibilities of simplification using
modern IT tools and practices.
In its current scope, the software enables user to retrieve and update the information
from centralized database designed with MySQL. This software does not require much
training time of the users due to limited functionality and simplicity.
During the development of QUIZ project, Java NetBeans IDE, a powerful, open source
event-driven form-based development environment is used for modular design and
future expandability of the system.
Despite of the best effort of the developer, the following limitations and functional
boundaries are visible, which limits the scope of this application software.
1. This software can store records and produce reports in pre-designed format in soft
copy. There is no facility yet to produce customized reports. Only specified reports are
covered.
2. There is no provision to calculate fine or penalty etc. for defaulter members; however
it can be developed easily with the help of adding modules.
So far as future scope of the project is concerned, firstly it is open to any modular
expansion i.e. other modules or functions can be designed and embedded to handle the
user need in future. Any part of the software and reports can be modified independently
without much effort.
The hardest part of building a software system is deciding precisely what to build. No
other part of the conceptual work is as difficult as establishing the detailed technical
requirement. Defining and applying good, complete requirements are hard to work, and
success in this endeavor has eluded many of us. Yet, we continue to make progress.
Problem definition describes the What of a system, not How. The quality of a software
product is only as good as the process that creates it. Problem definition is one of the
most crucial steps in this creation process. Without defining a problem, developers do
not know what to build, customers do not know what to expect, and there is no way to
validate that the built system satisfies the requirement.
7
Problem definition and Analysis is the activity that encompasses QUIZ about the
problem to be solved, understanding the needs of customer and users, trying to find out
who the user really is, and understanding all the constraints on the solution. It includes
all activities related to the following:
✓ Identification and documentation of customer's or user's needs.
✓ Creation of a document that describes the external behavior and the association
constraints that will satisfies those needs.
✓ Analysis and validation of the requirements documents to ensure consistency,
completeness, and feasibility
✓ Evolution of needs.
✓ After the analysis of the functioning of a QUIZ, the proposed System is expected to do
the following: -
✔To provide a user friendly, Graphical User Interface (GUI) based integrated and
centralized environment for computerized QUIZ.
✓The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
✔To provide efficient and secured Information storage, flow and retrieval system,
ensuring
the integrity and validity of records.
✓ To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.
TABLE DESIGN:
The database of QUIZ System contains 7 tables. The tables are normalized to minimize the
redundancies of data and enforcing the validation rules of the organization. Most of the tables
are designed to store master records. The tables and their structure are given below.
TABLE: LOGIN
9
Column Name Type Size
Table: ip
Column Name Type Size
SNo Integer 11
Questions Varchar 200
a Varchar 100
b Varchar 100
c Varchar 100
d Varchar 100
Result Varchar 1
Table: GK
Column Name Type Size
SNo Integer 11
Questions Varchar 200
a Varchar 100
b Varchar 100
c Varchar 100
d Varchar 100
Result Varchar 1
Table: RESULT
Column Name Type Size
ID Varchar 20
Ipresult Varchar 20
Gkresult Varchar 20
CODING OF LOGIN.JAVA
importjava.sql.*;
public class Login extends javax.swing.JFrame {
11
/** Constructor/
public Login() {
initComponents();
}
private void loginBTNActionPerformed (java.awt.event.ActionEvent evt) {
String PWord = new String(Password.getPassword());
String Id = ID.getText():
try {
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root", "kvuc");
Statement stmt = conn.createStatement().
stmt = conn.createStatement():
String sql = "select from Login where ID="" + Id+"";
ResultSetrs = stmt.executeQuery(sql);
rs.next();
String str = rs.getString("Password");
if(str.equals(PWord))
}
Menu m = new Menu(Id);
m.setVisible(true);
this.setVisible(false);
}
else
{
InvalidLBL.setText("Incorrect ID or Password");
} catch (Exception e) { InvalidLBLsetText("Incorrect ID or Password");}
}
private void regLBLMouseClicked(java.awt.event.MouseEvent evt) {
Registerr = new Register():
r.setVisible(true);
this.setVisible(false);
12
}
Frame: Register.java
CODING OF REGISTER.JAVA
importjava.sql.*;
importjavax.swing.JOptionPane;
public class Register extends javax.swing.JFrame(
13
/** Constructor */
public Register0 (
initComponents();
}
private void RegisterTFAction Performed (java.awt.event.ActionEventevt) {
try {
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root", "kvuc");
statementstmt = conn.createStatement();
String sql;
sql = "insert into Result values ("" + IDTF.getText()+",0,0,0,0)";
stmt.executeUpdate(sql);
sql = "insert into Login values ("+IDTF.getText() + "," + Password Tf.getText(+")";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
new Menu(IDTF.getText()).setVisible(true);
this.setVisible(false);
{
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"+e);
}
}
14
Frame: Menu,java
16
}
private void
MenuItemActionPerformed/java.awt.event.ActionEventevt)
{ System.exit(0).
}
public static void main(String args[]) {
java.awt. EventQueueinvokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}
Frame: Test.java
18
ResultSetrs = stmt.executeQuery(sql);
rs.next();
max-rs.getInt(1);
answers new char[max];
for(inti=0; i<max;i++) {
answers[i] = 'e';
}
rs.close();
stmt.close();
conn.close():
getQues();
}
catch(Exception r){ JOptionPane.showMessageDialog(null,"+I);
}
private void getQues()
{
Try
{
Class.forName(java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root",
"kvue");
Statement stmt = conn.createStatement();
String sql = "select * from " + Subject +" where SNo=" + index;
ResultSetrs = stmt.executeQuery(sql);
rs.next();
QuesTA.setText("\nQ" + index+". "+ rs.getString(2));
19
a.setText(rs.getString("a"));
b.setText(rs.getString("b"));
c.setText(rs.getString("c"));
d.setText(rs.getString("d"));
a.setSelected(answers [index-1]='a');
b.setSelected(answers[index-1]=='b');
c.setSelected(answers[index-1] = 'c');
d.setSelected(answers [index-1] = 'd');
e.setSelected(answers[index-1] = 'e');
rs.close();
stmt.close():
conn.close();
}
catch(Exception r){ JOptionPane.showMessageDialog(null,""+r); }
}
private void PrevBTNActionPerformed(java.awt.event.ActionEvent
evt) {
index--;
getQues();
if(index == 1) {
PrevBTN.setVisible(false);
if(index < max) {
NextBTN.setVisible(true);
}
private void NextBTNActionPerformed(java.awt.event.ActionEvent
evt) {
index++;
getQues();
20
if(index = max) {
NextBTN.setVisible(false);
}
if(index > 1) {
PrevBTN.setVisible(true);
}
}
private void bActionPerformed (java.awt.event.ActionEvent evt) {
answers[index-1] = 'b';
}
private void ResultBTNActionPerformed
(java.awt.event.ActionEventevt) {
try
{
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root",
"kvuc");
Statement stmt = conn.createStatement();
String sql = "select Result from " + Subject;
ResultSetrs = stmt.executeQuery(sql);
inti = 0;
while(rs.next())
{
charans = rs.getString(1).charAt(0);
if(ans answers[i]) {
result++;
}
21
I++;
}
float res = ((float)result 100)/max;
sql = "Select "+Subject + "Result from Result where ID=" + ID + ""; rs-
stmt.executeQuery(sql);
rs.next();
if(res>rs.getFloat(1))
{
sql = "update Result set " + Subject + "Result +res+" where ID="+ID+’’’’’;
stmt.executeUpdate(sql);
stmt.close():
conn.close():
new Result(res,ID).setVisible(true);
this.setVisible(false);
}
catch(Exception r){ JOptionPane.showMessageDialog(null,r))
}
private void aActionPerformed(java.awt.event.ActionEventext) {
answers[index-1]=’a’;
private void cActionPerformed(java.awt.event.ActionEventext) {
answers[index-1]-'c’;
private void dActionPerformed(java.awt.event.ActionEventevt) {
answers[index-1]-‘d’;
}
public static void main(String args[]){
java.awt.EventQueueinvokelater(new Runnable()) {
public void run() {
22
new Test().setVisible(true);
}
});}
Frame: Result.java
CODING OF RESULT.JAVA
Import java.sql.*;
Import javax.swing.table.*;
Import javax.swing.JOptionPane;
23
initComponents();
}
public Result(float res, String id)
{
initComponents();
result = res;
ID = id;
Score.setText(res + "%");
try {
Class.forName("java.sql.Driver");
Connection conn =
ResultSetrsstmt.executeQuery(sql);
rs.next();
for(inti=1; i<=4;i++) {
newrow[i] = rs.getString(i+1);
DefaultTableModel tm = (DefaultTableModel)scoreTBL.getModel();
tm.addRow(newrow);
new Menu(ID).setVisible(true);
this.setVisible(false);
this.dispose();
24
}
java.awt.EventQueue.invokeLater(new Runnable() {
new Result().setVisible(true);
});
User Manual
7.1 HOW TO INSTALLSOFTWARE:
HARDWARE REQUIREMENT-
SOFTWARE REQUIREMENT-
Windows 2000/XP OS is desirable.
NetBeansVer 5.1 or higher should be installed with JDK and JVM.
MySQL Ver 6.1 with QUIZdb Database must be present at machine.
DATABASE INSTALLATION
The software project is distributed with a backup copy of a Database named QUIZdbwith
required tables. Some dummy records are present in the tables for testing purposes, which can
be deleted before inserting real data. The project is shipped with QUIZ.SQL file which installs a
database and tables in the computer system.
Note: The PC must have MySQL server with user (roof) and password (raj). If root password is
any other password, it can be changed by running MySQL Server Instance Configure Wizard.
Start Program MySQL MySQL Server MySQL Server Instance Config Wizard Provide current
password of root and new password as "raj", this will change the root password.
To install a MySQL database from a dump file (QUIZ.sql), simply follow the following steps.
Step 1: Copy the QUIZ.sql file in C:\Program files\Mysql\MySql server 5.1\Bin folder.
Step 2: Open MySQL and type the following command to create the dabase named QUIZdb.
25
mysql> create database QUIZdb;
Step 3: Open Command Window (Start Run cmd)
Step 4: Go to the following folder using CD command of DOS.
C:\Program files\Mysql\MySql server 5.1\Bin>
Step 5: type the following command on above prompt –
C:....\bin>mysql -u root -prajQUIZdb<QUIZ.sql
This will create a QUIZdb databse with required tables.
26
SELECT:
This menu item gives options to select java, html, dbms and networking.
EXIT:
This menu closes the application.
27
Other than the above-mentioned books, the suggestions and supervision of
my teacher and my class experience also helped me to develop this
software project.
28