E-Learning file-FINAL
E-Learning file-FINAL
A PROJECT REPORT
Submitted by
Pratyush purushotam behera
+2 2nd year science
1
CERTIFICATE
This is to certify that the Project /
Dissertation entitled E- LEARNING is a
bonafide work done by Pratyush
Purushotam Behera 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
Pratyush
Purushotam Behera
CONTENTS
1.
Introduction-------------------------------------------------------------------------
----
3. Theoretical
Background-----------------------------------------------------------------
5. System
Implementation------------------------------------------------------------------
4
6. System Design &
Development-----------------------------------------------------------
7. User
Manual----------------------------------------------------------------------------
8.
References---------------------------------------------------------------------------
----
Introduction
5
A MIS mainly consists of a computerized database, a
collection of inter-related tables for a particular
subject or purpose, capable to produce different
reports relevant to the user. An application program is
tied with the database for easy access and interface to
the database. Using Application program or front-end,
we can store, retrieve and manage all information in
proper way.
This software, being simple in design and working,
does not require much of training to users, and can be
used as a powerful tool for automating a LEARNING.
During coding and design of the software Project, Java
NetBeans IDE, a powerful front-end tool is used for
getting Graphical User Interface (GUI) based
integrated platform and coding simplicity. As a back-
end a powerful, open source RDBMS, My SQL is used
as per requirement of the CBSE curriculum of
Informatics Practices Course.
6
record keeping system, which will help managers to retrieve the up-to-
date information at right time in right shape.
The proposed software system is expected to do the following
functionality-
✓ 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 LEARNING 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.
7
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.
Problem definition and Analysis is the activity that encompasses learning
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 LEARNING, 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 LEARNING.
✓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.
9
policies enforcement rules or contraints etc. A logical data often represented as a
records are kept in different tables after reducing anomalies and redundancies.
The goodness of data base design lies in the table structure and its relationship
This software project maintains a database named LEARNING which contains the
following tables.
TABLE DESIGN:
The database of LEARNING 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
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
10
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
11
1 SELECT IP TAKE A TEST FOR IP Test.java
CODING OF LOGIN.JAVA
importjava.sql.*;
public class Login extends javax.swing.JFrame {
/** Constructor/
public Login() {
initComponents();
}
User Name
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/LEARNINGdb", "root",
"kvuc");
Statement stmt = conn.createStatement().
stmt = conn.createStatement():
String sql = "select from Login where ID="" + Id+"";
12
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);
}
Frame: Register.java
CODING OF REGISTER.JAVA
importjava.sql.*;
importjavax.swing.JOptionPane;
public class Register extends javax.swing.JFrame(
/** Constructor */
public Register0 (
initComponents();
}
private void RegisterTFAction Performed
(java.awt.event.ActionEventevt) {
try {
13
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/LEARNINGdb", "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);
}
}
Frame: Menu,java
14
public class Menu extends javax.swing.JFrame {
String ID;
/** Constructor */
public Menu() {
initComponents();
}
public Menu(String id) {
initComponents();
ID = id;
}
private void
startTestBTNActionPerformed(java.awt.event.ActionEve
ntevt) {
String sub= null;
if(IP.isSelected()) {
sub="IP";
}
else if(GK.isSelected()) {
sub="GK":
}
if (sub != null)
{
Test t= new Test(sub,ID);
t.setVisible(true);
this.setVisible(false);
}
}
15
private void MenuItem1Action Performed
(java.awt.event.ActionEvent evt) { IPdeClick();
}
private void MenuItem2ActionPerformedjava.awLevent
ActionEvent evt) {
GK doClick:.
}
private void
MenuItemActionPerformed/java.awt.event.ActionEvente
vt) { System.exit(0).
}
public static void main(String args[]) {
java.awt. EventQueueinvokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}
16
/** Constructor */
public Test()
{
initComponents();
}
public Test(String subject, String id)
{
initComponents();
ID = id;
Subject = subject;
PrevBTN.setVisible(false);
try
{Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/
LEARNINGdb", "root", "kvuc");
Statement stmtconn.createStatement();
String sql="select max(SNO) from " + Subject;
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();
17
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/
LEARNINGdb", "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));
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');
18
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();
if(index = max) {
NextBTN.setVisible(false);
}
if(index > 1) {
PrevBTN.setVisible(true);
}
}
19
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/LEARNIN
Gdb", "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++;
}
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))
20
{
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() {
new Test().setVisible(true);
}
});}
CODING OF RESULT.JAVA
21
Import java.sql.*;
Import javax.swing.table.*;
Import javax.swing.JOptionPane;
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);
22
catch (Exception e) { JOptionPane.showMessageDialog(null,"" + e);
new Menu(ID).setVisible(true);
this.setVisible(false);
this.dispose();
java.awt.EventQueue.invokeLater(new Runnable() {
new Result().setVisible(true);
});
23
inserting real data. The project is shipped with LEARNING.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 (LEARNING.sql), simply
follow the following steps.
Step 1: Copy the LEARNING.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 LEARNINGdb.
mysql> create database LEARNINGdb;
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 -prajLEARNINGdb<LEARNING.sql
This will create a LEARNINGdb databse with required tables.
SELECT:
This menu item gives options to select java, html, dbms and
networking.
24
EXIT:
This menu closes the application.
25
(6) Informatics Practices for class XII
-by Sumita Arora
(7) Together with Informatics Practices
(6) Various Websites of Discussion Forum and software development
activities.
26