Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Anjuman-I-Islam’s

M. H. SABOO SIDDIK POLYTECHNIC


A Micro Project Report on:
STUDENT REGISTRATION FORM
Submi ed by:
SR.NO ROLL NO NAME OF THE STUDENTS

1 21481 SAI BHOT


2 21482 ASHISH KHOBRAGADE

Guided By:
Ms. Zaibunnisa Malik
For the Subject:
ADVANCED JAVA PROGRAMMING
In Academic Year
2022-2023



tt

MAHARASHTRA STATE
BOARD OF TECHNICAL EDUCATION

CERTIFICATE

This is to certify that Mr. Sai Sanjeev Bhot Roll No. 21481, of Fifth Semester of Diploma in
COMPUTER ENGINEERING of Institute M. H. SABOO SIDDIK POLYTECHNIC (Code: 0002)
has completed the term work satisfactorily in course JAVA (22412) for the academic year 2022
to 2023 as prescribed in the curriculum.

Place: MUMBAI49 Enrolment No: 2100020141


Date: Exam. Seat No:

Subject Teacher Head of the Department Principal

Seal of
Institution

MAHARASHTRA STATE
BOARD OF TECHNICAL EDUCATION

Certificate

This is to certify that Mr. Khobragade Ashish Vilas Roll No. 21482, of Fourth Semester of
Diploma in COMPUTER ENGINEERING of Institute M. H. SABOO SIDDIK POLYTECHNIC
(Code: 0002) has completed the term work satisfactorily in course JAVA (22412) for the
academic year 2022 to 2023 as prescribed in the curriculum.

Place: MUMBAI Enrollment No: 2100020143


Date: Exam. Seat No:

Subject Teacher Head of the Department Principal

Seal of
Institution




ACKNOWLEDGMENT

This micro project is done as a course project, as a part course titled

“ADVANCED JAVA PROGRAMMING”

We are really thankful to our Course teacher Ms. Zaibunnisa Malik for his invaluable guidance
and assistance, without which the accomplishment of the task would have never been possible
We also thank our Principal Dr. A. K. Kureshi , and HOD for giving the opportunity to explore
into the real world and realise the interrelation without which a Project can never progress. In
our present project we have chosen the topic-

“STUDENT REGISTRATION FORM”

We are also thankful to parents, friend and all staff of Computer Engineering Department, for
providing us relevant information and necessary clarifications, and great support.

Micro Project Evaluation Sheet


Name of Student: Bhot Sai Sanjeev

Enrollment No: 2100020141

Name of Programme: Diploma in Computer Engineering Semester: 5th

Course Title: Advanced Java Programming Code: 22517

Title of the Micro-Project: File Encryption and Decryption using JAVA

Course Outcomes Achieved: - Develop program using GUI Framework (AWT and Swing). Handle events
of AWT and Swing components.Develop programs to handle events in java programming.Develop java
programs using networking concept.

(A) (B) Total Marks 10


Process and Product Assessment (6 Individual Presenta on & viva (4
marks) marks)

Sr. Poor Average Good Excellent Sub


No. Characteris cs to be assessed (Marks 1 - 3) (Marks 4 - 5) (Marks 6 - 8) (Marks 9- 10) Total

(A) Process and Product Assessment (Convert above total marks out of 6 Marks)
1 Relevance to the course

2 Literature Review/information
collection
3 Comple on of the Target as
per project proposal
4 Analysis of Data and
representation

5 Quality of Prototype/Model
6 Report Preparation

(B) Individual Presenta on/ Viva (Convert above total marks out of 4 Marks)
7 Presentation

8 Viva

Comments/Suggestions about teamwork/leadership/inter-personal communication (if any)

……………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………

Name and designation of the Teacher ……………………………………………

Dated Signature

ti
ti

ti
ti

Micro Project Evaluation Sheet


Name of Student: Khobragade Ashish Vilas

Enrollment No: 2100020143

Name of Programme: Diploma in Computer Engineering Semester: 5th

Course Title: Advanced Java Programming Code: 22517

Title of the Micro-Project: File Encryption and Decryption using JAVA

Course Outcomes Achieved: - Develop program using GUI Framework (AWT and Swing). Handle events
of AWT and Swing components.Develop programs to handle events in java programming.Develop java
programs using networking concept.

(A) (B) Total Marks 10


Process and Product Assessment (6 Individual Presenta on & viva (4
marks) marks)

Sr. Poor Average Good Excellent Sub


No. Characteris cs to be assessed (Marks 1 - 3) (Marks 4 - 5) (Marks 6 - 8) (Marks 9- 10) Total

(A) Process and Product Assessment (Convert above total marks out of 6 Marks)
1 Relevance to the course

2 Literature Review/information
collection
3 Comple on of the Target as
per project proposal
4 Analysis of Data and
representation

5 Quality of Prototype/Model
6 Report Preparation

(B) Individual Presenta on/ Viva (Convert above total marks out of 4 Marks)
7 Presentation

8 Viva

Comments/Suggestions about teamwork/leadership/inter-personal communication (if any)

……………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………

Name and designation of the Teacher ……………………………………………

Dated Signature

ti
ti

ti
ti

Micro-Project Proposal

Aims And Benefits

• Students will be able to accept or decline offers of admission using this portal.
• After accepting admission the documents uploaded will be scrutinized by university authorities
and any discrepancies notified.
• After all error flags are cleared the student will be able to make the first fee payment via
internet banking through the system, following which the system will assign the student a
unique roll number and register them as a student of the university.
• This system will automatically update the new student details into the university student
database.

Course Outcomes Addressed :


The theory, practical experiences and relevant soft skills associated with this course are to
be taught and implemented, so that the student demonstrates the following industry-
oriented Cos associated with the above-mentioned competency:

a) Develop program using GUI Framework (AWT and Swing).


b) Handle events of AWT and Swing components.
c) Develop programs to handle events in java programming.
d) Develop java programs using networking concept.
e) Develop programs using database.
f) Develop program using Servlet

Proposed Methodology

We will start to discuss about our topic among ourselves and will try to gather
information about student registration form We will research on internet for previous
made project on Student registration form and limitation in the existing project.
We’ll consult our guide for what field we have to add in our project and how our
project should work like in the end. Then we will create our project proposal and
submit it to our guide. After knowing of all the basic requirement in our project we
will then start on making the dummy code in VS Code. After completing the work in
with proper code and UI on AWT consulting with our guides remain. After showing
our micro project we will then create the required document that is needed in report
and will submit it to our project guide on the submission date.

Action Plan

(Sequence and time required for major activities. The following is for reference. The
Name of
Responsibl
Sr. Wee Planned Planned
No. Details of activity e Team
k Start date Finish date
Member
s
1& Discussion and finalization of the
1
2 topic.
2 3 Preparation of the abstract
3 4 Literature review
Submission of micro project proposal
4 5
(Annexure I)
Collection of the information on the
5 6
topic.
Collection of all relevant content /
6 7 materials for the execution of the
project.

Discussion and submission of outline


7 8
of the project.
Analysis/execution of collected data/
information and Preparation of
8 9
prototypes/drawings/charts/graphs/
tables/models/circuits/programs etc.
9 10 Compilation of contents of project
10 11 Compilation of weekly progress report
Preparation of the project report
11 12
(Annexure II)
12 13 Viva Voce / Delivery of presentation.
activities can be included/ modified/excluded)

Resources required

Sr.
Name of Resource/material Specifications Quantity Remarks
No.

1 Computer System RAM 8GB 1

2 Software: JDK 12 and Visual 1


Studio Code

Names of Team Members with Roll Nos.

1. Sai Sanjeev Bhot 21481

2. Ashish Vilas Khobragade 21482




Micro-Project Report
Rationale

Student registration forms are used to register students for classes, tutoring, extracurricular
activities, and various school Organisation. or higher education, your school can keep better
track of students using our free Student Registration Forms. Students can provide their personal
information, upload files, and even submit payments online. Submissions will be sent to your
Jotform account, and can then be sent to faculty and student leaders.process begins when
prospective students wish to enrol in the university. If they express interest in any course they
will be required to visit the university and can create a user account at the administration block.
This is the only part of the system where every user has to have human interaction, this is
intended as a security measure to prevent the creation of false user IDs. After verification of any
nationally approved photo ID proof a user account will be created and a scanned copy of the ID
proof will be uploaded into the profile. After this the user can upload all necessary documents on
the portal from the convenience of their home. The system will automatically validate all the
documents and the prospective student will be able to schedule a test date after successful
validation.

Aims And Benefits


• Students will be able to accept or decline offers of admission using this portal.
• After accepting admission the documents uploaded will be scrutinized by university authorities
and any discrepancies notified.
• After all error flags are cleared the student will be able to make the first fee payment via
internet banking through the system, following which the system will assign the student a
unique roll number and register them as a student of the university.
• This system will automatically update the new student details into the university student
database.

Course Outcome Achieved


The theory, practical experiences and relevant soft skills associated with this course are to
be taught and implemented, so that the student demonstrates the following industry-
oriented Cos associated with the above-mentioned competency:

a) Develop program using GUI Framework (AWT and Swing).


b) Handle events of AWT and Swing components.
c) Develop programs to handle events in java programming.
d) Develop java programs using networking concept.
e) Develop programs using database.
f) Develop program using Servlet
Hence , We’ve Achieved mentioned all course outcome following industry-oriented Cos
associated with the above-mentioned competency:

Literature Review

What is Student registration form ?


Student registration system is a simple yet complete management project. Java
programming language and are its core elements for its completion. Also, this project uses
the MySQL database as backend support for storing the school information. In order to
run this project, you will require NetBeans IDE and XAMPP localhost server.

How Does the Student registration Works ?


In Student Registration Form submission is done through a well-secured platform. The
database event organisers gather will also be stored on a highly secured server, leaving no
room for third-parties. The form submission and the payment details will be done through
an encrypted method

Actual Methodology Followed


We started to discuss about our topic among ourselves and tried to gather information how
Student registration form basically works. We researched on internet for previous made
project on Student Registration form and limitation in the existing project. We consulted
our guide for what field we have to add in our project and how our project should work like
in the end. Then we created our project proposal and submitted it to our guide. After
knowing of all the basic requirement in our project we made a dummy project in VS Code.
After completing the work in with proper code and UI on AWT consulting with our guides
remain. After showing our micro project we started to create the required document that is
needed in report and submitted it to our project guide on the submission date.

Actual Resources Used (Mention the actual resources used).

Sr.
Name of Resource/material Specifications Quantity Remarks
No.

1 Computer System RAM 8GB 1

2 Software: JDK 12 and Visual 1


Studio Code
3 XAMPP 1

4 NetBeans IDE 1

Outputs of the Micro-Projects

LOGIN PAGE
CODE :

package admin;

import javafx.application.Platform;

import javafx.scene.Node;

import menuBar.MenuBarControl;

import profileView.Info;

import profileView.ProfileView;

import database.DBConnection;

import javafx.collections.FXCollections;

import javafx.collections.ObservableList;

import javafx.event.Event;

import javafx.fxml.FXML;

import javafx.fxml.FXMLLoader;

import javafx.fxml.Initializable;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.scene.control.*;

import javafx.scene.control.cell.PropertyValueFactory;

import javafx.stage.Stage;

import java.io.IOException;

import java.net.URL;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.time.LocalDate;

import java.util.ResourceBundle;

/**

* Created by Tanvir on 7/23/2016.

*/

public class Admin implements Initializable {

@FXML

TableView<AdminTable> adminTableView;

@FXML

TableColumn<AdminTable,Integer> adminTableStudentNo;

@FXML

TableColumn<AdminTable,String> adminTableStudentName;

@FXML

TableColumn<AdminTable,String> adminTableStudentID;

@FXML

TableColumn<AdminTable,String> adminTableStudentDepartment;

@FXML

TableColumn<AdminTable,Double> adminTableStudentCGPA;

@FXML

TableColumn<AdminTable,String> adminTableStudentPhone;

@FXML

TableColumn<AdminTable,String> adminTableStudentDOB;

@FXML

TableColumn<AdminTable,String> adminTableGuardianName;

@FXML

TableColumn<AdminTable,String> adminTableGuardianEmail;

@FXML

TableColumn<AdminTable,String> adminTableGuardianPhone;

@FXML

TableColumn<AdminTable,String> adminTableStudentAddress;

@FXML

private Button adminClearButtonClick;

@FXML

private Button adminSaveButtonClick;

@FXML

private TextField adminTFStudentFname;

@FXML

private TextField adminTFStudentLname;

@FXML

private TextField adminTFStudentID;

@FXML

private ChoiceBox adminCBStudentDepartment;

@FXML

private TextField adminTFStudentEmail;

@FXML

private TextField adminTFStudentPhone;

@FXML

private TextField adminTFStudentAddress;

@FXML

private DatePicker adminDPStudentDOB;

@FXML

private TextField adminTFGuardianFname;

@FXML

private TextField adminTFGuardianLname;

@FXML

private TextField adminTFGuardianEmail;

@FXML

private TextField adminTFGuardianPhone;

@FXML

private TextField adminTFSearch;

private DBConnection database = new DBConnection();

private Connection connection;

private Statement statement;

private ResultSet resultSet;

private boolean isSetAdminAddNewButtonClick;

private boolean isSetAdminEditButtonClick;

private MenuBarControl menuBarControl = new MenuBarControl();

private String temp;

/*private ObservableList<AdminTable> adminTableData = FXCollections.observableArrayList(

//Make a Observable List from adminTable by creating an Object

//This Observable List can take data with every Property

//new AdminTable(1,"Tanvir Rahman","011142053","CSE",3.33,"01750943080","2/5/1995","Mokaddesh


Hossain","mokaddesh.hossain@gmail.com","01748737217","House no 307,Dhanmondi 15")

);*/

private ObservableList getDataFromSqlAndAddToObservableList(String query){

ObservableList<AdminTable> adminTableData = FXCollections.observableArrayList();

try {

connection = database.getConnection();

statement = connection.createStatement();

resultSet = statement.executeQuery(query);//"SELECT * FROM students;"

while(resultSet.next()){

adminTableData.add(new AdminTable(

resultSet.getInt("dbStudentSerialNo"),

resultSet.getString("dbStudentFname")+" "+resultSet.getString("dbStudentLname"),

resultSet.getString("dbStudentID"),

resultSet.getString("dbStudentDepartment"),

resultSet.getDouble("dbStudentCgpa"),

resultSet.getString("dbStudentPhone"),

resultSet.getString("dbStudentDOB"),

resultSet.getString("dbGuardianFname")+" "+resultSet.getString("dbGuardianLname"),

resultSet.getString("dbGuardianEmail"),

resultSet.getString("dbGuardianPhone"),

resultSet.getString("dbStudentAddress")

));

connection.close();

statement.close();

resultSet.close();

} catch (SQLException e) {

e.printStackTrace();

return adminTableData;

@Override

public void initialize(URL location, ResourceBundle resources) {

//1st initially get all data from MySQL server

//And set it to Observable arrayList

//getDataFromSqlAndAddToObservableList();

//Get data from adminTableData ObservableList and set thus data on JavaFX table column

adminTableStudentNo.setCellValueFactory(new
PropertyValueFactory<AdminTable,Integer>("adminTableDataNo")); // Point JavaFX adminTableStudentNo column at
AdminTable's adminTableDataNo variable Property

adminTableStudentName.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentName"));

adminTableStudentID.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentID"));

adminTableStudentDepartment.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentDepartment"));

adminTableStudentCGPA.setCellValueFactory(new PropertyValueFactory<AdminTable,
Double>("adminTableDataStudentCGPA"));

adminTableStudentPhone.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentPhone"));

adminTableStudentDOB.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentDOB"));

adminTableGuardianName.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataGuardianName"));

adminTableGuardianEmail.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataGuardianEmail"));

adminTableGuardianPhone.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataGuardianPhone"));

adminTableStudentAddress.setCellValueFactory(new PropertyValueFactory<AdminTable,
String>("adminTableDataStudentAddress"));

//adminTableView.setItems(getDataFromSqlAndAddToObservableList("SELECT * FROM student;"));//Point


JavaFX table at adminTableData ObservableList

@FXML

private void setAdminAddNewButtonClick(Event event){

adminSetAllEnable();

isSetAdminAddNewButtonClick = true;

private void adminSetAllEnable(){

adminTFStudentFname.setDisable(false);

adminTFStudentLname.setDisable(false);

adminTFStudentID.setDisable(false);

adminCBStudentDepartment.setDisable(false);

adminTFStudentEmail.setDisable(false);

adminTFStudentPhone.setDisable(false);

adminTFStudentAddress.setDisable(false);

adminDPStudentDOB.setDisable(false);

adminTFGuardianFname.setDisable(false);

adminTFGuardianLname.setDisable(false);

adminTFGuardianEmail.setDisable(false);

adminTFGuardianPhone.setDisable(false);

adminSaveButtonClick.setDisable(false);

adminClearButtonClick.setDisable(false)

private void adminSetAllDisable(){

adminTFStudentFname.setDisable(true);

adminTFStudentLname.setDisable(true);

adminTFStudentID.setDisable(true);

adminCBStudentDepartment.setDisable(true);

adminTFStudentEmail.setDisable(true);

adminTFStudentPhone.setDisable(true);

adminTFStudentAddress.setDisable(true);

adminDPStudentDOB.setDisable(true);

adminTFGuardianFname.setDisable(true);

adminTFGuardianLname.setDisable(true);

adminTFGuardianEmail.setDisable(true);

adminTFGuardianPhone.setDisable(true);

adminSaveButtonClick.setDisable(true);

adminClearButtonClick.setDisable(true);

} @FXML

private void setAdminSaveButtonClick(Event event){

try{

connection = database.getConnection();

statement = connection.createStatement();

if(isSetAdminAddNewButtonClick){

int rowsAffected = statement.executeUpdate("insert into`student` "+

"(`dbStudentFname`,`dbStudentLname`,`dbStudentID`,`dbStudentDOB`,"+

"`dbStudentDepartment`,`dbStudentEmail`,`dbStudentPhone`,`dbStudentAddress`,`dbGuardianFname`,`dbGuardianLname`,"
+

"`dbGuardianEmail`,`dbGuardianPhone`"+") "+

"values ('"+adminTFStudentFname.getText()+"','"+adminTFStudentLname.getText()
+"','"+adminTFStudentID.getText()

+"','"+adminDPStudentDOB.getValue()

+"','"+adminCBStudentDepartment.getValue().toString().trim()

+"','"+adminTFGuardianEmail.getText()

+"','"+adminTFStudentPhone.getText()

+"','"+adminTFStudentAddress.getText()

+"','"+adminTFGuardianFname.getText()

+"','"+adminTFGuardianLname.getText()

+"','"+adminTFGuardianEmail.getText()

+"','"+adminTFGuardianPhone.getText()

+"'); ");

statement.executeUpdate("insert into `studentgpa` (`dbstudentgpaID`) VALUES


('"+adminTFStudentID.getText()+"')");

else if (isSetAdminEditButtonClick){

int rowsAffected = statement.executeUpdate("update student set "+

"dbStudentFname = '"+adminTFStudentFname.getText()+"',"+

"dbStudentLname = '"+adminTFStudentLname.getText()+"',"+

"dbStudentID = '"+adminTFStudentID.getText()+"',"+

"dbStudentDOB = '"+adminDPStudentDOB.getValue()+"',"+

"dbStudentDepartment = '"+adminCBStudentDepartment.getValue().toString().trim()+"',"+

"dbStudentEmail = '"+adminTFStudentEmail.getText()+"',"+

"dbStudentPhone = '"+adminTFStudentPhone.getText()+"',"+

"dbStudentAddress = '"+adminTFStudentAddress.getText()+"',"+

"dbGuardianFname = '"+adminTFGuardianFname.getText()+"',"+

"dbGuardianLname = '"+adminTFGuardianLname.getText()+"',"+

"dbGuardianEmail = '"+adminTFGuardianEmail.getText()+"',"+

"dbGuardianPhone = '"+adminTFGuardianPhone.getText()+

"' where dbStudentID = '"+

temp+"';");

if (temp.equals(adminTFStudentID.getText())){

statement.executeUpdate("update studentgpa set dbstudentgpaID ='"+adminTFStudentID.getText()+"'


where dbStudentID = '"+ temp+"';");

connection.close();

statement.close();

resultSet.close();

catch (SQLException e){

e.printStackTrace();

adminSetAllClear();

adminSetAllDisable();

adminTableView.setItems(getDataFromSqlAndAddToObservableList("SELECT * FROM student;"));

isSetAdminEditButtonClick=false;

isSetAdminAddNewButtonClick = false;

private void adminSetAllClear(){

adminTFStudentFname.clear();

adminTFStudentLname.clear();

adminTFStudentID.clear();

adminTFStudentEmail.clear();

adminTFStudentPhone.clear();

adminTFStudentAddress.clear();

adminTFGuardianFname.clear();

adminTFGuardianLname.clear();

adminTFGuardianEmail.clear();

adminTFGuardianPhone.clear();

@FXML

private void setAdminClearButtonClick(Event event){

adminSetAllClear();

adminSetAllDisable();

isSetAdminEditButtonClick=false;

isSetAdminAddNewButtonClick = false;

@FXML

private void setAdminRefreshButtonClick(Event event){

adminTableView.setItems(getDataFromSqlAndAddToObservableList("SELECT * FROM student;"));//sql


Query

adminTFSearch.clear();

@FXML

private void setAdminSearchButtonClick(Event event){

String sqlQuery = "select * FROM student where dbStudentID = '"+adminTFSearch.getText()+"';";

adminTableView.setItems(getDataFromSqlAndAddToObservableList(sqlQuery));

@FXML

private void setAdminEditButtonClick(Event event){

AdminTable getSelectedRow = adminTableView.getSelectionModel().getSelectedItem();

String sqlQuery = "select * FROM student where dbStudentID =


'"+getSelectedRow.getAdminTableDataStudentID()+"';";

try {

connection = database.getConnection();

statement = connection.createStatement();

resultSet = statement.executeQuery(sqlQuery);

adminSetAllEnable();

while(resultSet.next()) {

adminTFStudentFname.setText(resultSet.getString("dbStudentFname"));

adminTFStudentLname.setText(resultSet.getString("dbStudentLname"));

adminTFStudentID.setText(resultSet.getString("dbStudentID"));

adminCBStudentDepartment.setValue(resultSet.getString("dbStudentDepartment"));

adminTFStudentEmail.setText(resultSet.getString("dbStudentEmail"));

adminTFStudentPhone.setText(resultSet.getString("dbStudentPhone"));

adminTFStudentAddress.setText(resultSet.getString("dbStudentAddress"));

try {

if (!(resultSet.getString("dbStudentDOB").isEmpty())) {

adminDPStudentDOB.setValue(LocalDate.parse(resultSet.getString("dbStudentDOB")));

catch (NullPointerException e){

adminDPStudentDOB.setValue(null);

adminTFGuardianFname.setText(resultSet.getString("dbGuardianFname"));

adminTFGuardianLname.setText(resultSet.getString("dbGuardianLname"));

adminTFGuardianEmail.setText(resultSet.getString("dbGuardianEmail"));

adminTFGuardianPhone.setText(resultSet.getString("dbGuardianPhone"));

temp=adminTFStudentID.getText();

isSetAdminEditButtonClick = true;

catch (SQLException e) {

e.printStackTrace();

@FXML

private void setAdminDeleteButtonClick(Event event){

AdminTable getSelectedRow = adminTableView.getSelectionModel().getSelectedItem();

String sqlQuery = "delete from student where dbStudentID =


'"+getSelectedRow.getAdminTableDataStudentID()+"';";

try {

connection = database.getConnection();

statement = connection.createStatement();

statement.executeUpdate(sqlQuery);

statement.executeUpdate("delete from studentgpa where dbstudentgpaID


='"+getSelectedRow.getAdminTableDataStudentID()+"';");

adminTableView.setItems(getDataFromSqlAndAddToObservableList("SELECT * FROM student;"));

catch (SQLException e) {

e.printStackTrace();

//adminTableView.setItems(getDataFromSqlAndAddToObservableList(sqlQuery)) }

@FXML

private void setAdminViewButtonClick(Event event) throws IOException

Info info = new Info(adminTableView.getSelectionModel().getSelectedItem().getAdminTableDataStudentID());

FXMLLoader loader = new FXMLLoader();

loader.setLocation(getClass().getResource("/profileView/profileView.fxml"));

loader.load();

Parent p = loader.getRoot();

Stage stage = new Stage();

stage.setScene(new Scene(p));

ProfileView profileView = loader.getController();

profileView.setCurrentInfo(info);

stage.show(); }

@FXML

private void setAdminCloseButtonClick(Event event){

menuBarControl.close();

} @FXML

private void setAdminAboutButtonClick(Event event) throws IOException {

menuBarControl.about();

}@FXML

private void setAdminCoursePanelClick(Event event) throws IOException {

FXMLLoader loader = new FXMLLoader();

loader.setLocation(getClass().getResource("/admin/Course.fxml"));

loader.load();

Parent p = loader.getRoot();

Stage stage = new Stage();

stage.setScene(new Scene(p));

stage.setTitle("Course Panel");

stage.show();

@FXML

private void setAdminTeacherPanelClick(Event event)throws IOException{

FXMLLoader loader = new FXMLLoader();

loader.setLocation(getClass().getResource("/admin/AdminTeacher.fxml"));

loader.load();

Parent pa = loader.getRoot();

Stage stage = new Stage();

stage.setScene(new Scene(pa));

stage.setTitle("Teacher Panel");

stage.show();

DATABASE CONNECTION :

package admin;

import database.DBConnection;

import javafx.collections.FXCollections;

import javafx.collections.ObservableList;

import javafx.event.Event;

import javafx.fxml.FXML;

import javafx.fxml.Initializable;

import javafx.scene.control.Button;

import javafx.scene.control.TableColumn;

import javafx.scene.control.TableView;

import javafx.scene.control.TextField;

import javafx.scene.control.cell.PropertyValueFactory;

import menuBar.MenuBarControl;

import java.io.IOException;

import java.net.URL;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.time.LocalDate;

import java.util.ResourceBundle;

public class AdminCourse implements Initializable {

private DBConnection database = new DBConnection();

private Connection connection;

private Statement statement;

private ResultSet resultSet;

private boolean isSetCourseAddNewButtonClick;

private boolean isSetCourseEditButtonClick;

private MenuBarControl menuBarControl = new MenuBarControl();

private String temp ;

@FXML

TableView<CourseTable> adminCourseTableView;

@FXML

TableColumn<CourseTable,Integer> adminCourseTableNo;

@FXML

TableColumn<CourseTable,String> adminCourseTableCode;

@FXML

TableColumn<CourseTable,String> adminCourseTableTitle;

@FXML

TableColumn<CourseTable,Integer> adminCourseTableCredit;

@FXML

TableColumn<CourseTable,String> adminCourseTableSec;

@FXML

private TextField courseTFCode;

@FXML

private TextField courseTFTitle;

@FXML

private TextField courseTFCredit;

@FXML

private TextField courseTFSec;

@FXML

private TextField courseTFSearch;

@FXML

private Button courseClearButtonClick;

@FXML

private Button courseSaveButtonClick;

private ObservableList getDataFromCourseAndAddToObservableList(String query){

ObservableList<CourseTable> courseTableData = FXCollections.observableArrayList();

try {

connection = database.getConnection();

statement = connection.createStatement();

resultSet = statement.executeQuery(query);//"SELECT * FROM cource;"

while(resultSet.next()){

courseTableData.add(new CourseTable(

resultSet.getInt("dbCourseSerial"),

resultSet.getString("dbCourseCode"),

resultSet.getString("dbCourseTitle"),

resultSet.getInt("dbCourseCredit"),

resultSet.getString("dbCourseSec")

));

connection.close();

statement.close();

resultSet.close();

} catch (SQLException e) {

e.printStackTrace();

return courseTableData;

@Override

public void initialize(URL location, ResourceBundle resources) {

adminCourseTableNo.setCellValueFactory(new
PropertyValueFactory<CourseTable,Integer>("courseTableDataNo"));

adminCourseTableCode.setCellValueFactory(new
PropertyValueFactory<CourseTable,String>("courseTableDataCode"));

adminCourseTableTitle.setCellValueFactory(new
PropertyValueFactory<CourseTable,String>("courseTableDataTitle"));

adminCourseTableCredit.setCellValueFactory(new
PropertyValueFactory<CourseTable,Integer>("courseTableDataCredit"));

adminCourseTableSec.setCellValueFactory(new
PropertyValueFactory<CourseTable,String>("courseTableDataSec"));

adminCourseTableView.setItems(getDataFromCourseAndAddToObservableList("SELECT * FROM
course;"));

@FXML

private void setCourseAddNewButtonClick(Event event){

courseSetAllEnable();

isSetCourseAddNewButtonClick = true;

private void courseSetAllEnable(){

courseTFCode.setDisable(false);

courseTFTitle.setDisable(false);

courseTFCredit.setDisable(false);

courseTFSec.setDisable(false);

courseClearButtonClick.setDisable(false);

courseSaveButtonClick.setDisable(false);

private void courseSetAllDisable(){

courseTFCode.setDisable(true);

courseTFTitle.setDisable(true);

courseTFCredit.setDisable(true);

courseTFSec.setDisable(true);

courseClearButtonClick.setDisable(true);

courseSaveButtonClick.setDisable(true);

@FXML

private void setCourseEditButtonClick(Event event){

CourseTable getSelectedRow = adminCourseTableView.getSelectionModel().getSelectedItem();

String sqlQuery = "select * FROM course where dbCourseCode =


'"+getSelectedRow.getCourseTableDataCode()+"';";

try {

connection = database.getConnection();

statement = connection.createStatement();

resultSet = statement.executeQuery(sqlQuery);

courseSetAllEnable();

while(resultSet.next()) {

courseTFCode.setText(resultSet.getString("dbCourseCode"));

courseTFTitle.setText(resultSet.getString("dbCourseTitle"));

courseTFCredit.setText(resultSet.getString("dbCourseCredit"));

courseTFSec.setText(resultSet.getString("dbCourseSec"));

temp =courseTFCode.getText();

isSetCourseEditButtonClick = true;

catch (SQLException e) {

e.printStackTrace();

@FXML

private void setCourseDeleteButtonClick(Event event){

CourseTable getSelectedRow = adminCourseTableView.getSelectionModel().getSelectedItem();

String sqlQuery = "delete from course where dbCourseCode = '"+getSelectedRow.getCourseTableDataCode()


+"';";

try {

connection = database.getConnection();

statement = connection.createStatement();

int rowsAffected = statement.executeUpdate(sqlQuery);

adminCourseTableView.setItems(getDataFromCourseAndAddToObservableList("SELECT * FROM
course;"));

catch (SQLException e) {

e.printStackTrace();

@FXML

private void setCourseSaveButtonClick(Event event){

try{

connection = database.getConnection();

statement = connection.createStatement();

if(isSetCourseAddNewButtonClick){

int rowsAffected = statement.executeUpdate("insert into `course`


(`dbCourseCode`,`dbCourseTitle`,`dbCourseCredit`,`dbCourseSec`) values ('"+

courseTFCode.getText()+"','"+courseTFTitle.getText()+"','"+courseTFCredit.getText()
+"','"+courseTFSec.getText()+"') ;");

else if (isSetCourseEditButtonClick){

int rowsAffected = statement.executeUpdate("update course set "+

"dbCourseCode = '"+courseTFCode.getText()+"',"+

"dbCourseTitle = '"+courseTFTitle.getText()+"',"+

"dbCourseCredit = '"+courseTFCredit.getText()+"',"+

"dbCourseSec = '"+courseTFSec.getText()+

"' where dbCourseCode = '"+

temp+"';");

connection.close();

statement.close();

resultSet.close();

catch (SQLException e){

e.printStackTrace();

courseSetAllClear();

courseSetAllDisable();

adminCourseTableView.setItems(getDataFromCourseAndAddToObservableList("SELECT * FROM
course;"));

isSetCourseAddNewButtonClick=false;

isSetCourseEditButtonClick = false;

private void courseSetAllClear(){

courseTFCode.clear();

courseTFTitle.clear();

courseTFCredit.clear();

courseTFSec.clear();

@FXML

private void setCourseClearButtonClick(Event event){

courseSetAllClear();

courseSetAllDisable();

isSetCourseEditButtonClick=false;

isSetCourseAddNewButtonClick = false;

@FXML

private void setCourseRefreshButtonClick(Event event){

adminCourseTableView.setItems(getDataFromCourseAndAddToObservableList("SELECT * FROM
course;"));//sql Query

courseTFSearch.clear();

@FXML

private void setCourseSearchButtonClick(Event event){

String sqlQuery = "select * FROM course where dbCourseCode = '"+courseTFSearch.getText()+"';";

adminCourseTableView.setItems(getDataFromCourseAndAddToObservableList(sqlQuery));

@FXML

private void setCourseAboutButtonClick(Event event) throws IOException {

menuBarControl.about();

@FXML

private void setCourseCloseButtonClick(Event event){

menuBarControl.close();

OUTPUT:

STUDENT CREATION SCREEN

package student;

import javafx.beans.property.SimpleIntegerProperty;

import javafx.beans.property.SimpleStringProperty;

RegistrationTableData {

private final SimpleStringProperty courseTableDataCode;

private final SimpleStringProperty courseTableDataTitle;

private final SimpleIntegerProperty courseTableDataCredit;

private final SimpleStringProperty courseTableDataSec;

public RegistrationTableData(String courseTableDataCode, String courseTableDataTitle, int courseTableDataCredit,


String courseTableDataSec) {

this.courseTableDataCode = new SimpleStringProperty(courseTableDataCode);

this.courseTableDataTitle = new SimpleStringProperty(courseTableDataTitle);

this.courseTableDataCredit = new SimpleIntegerProperty(courseTableDataCredit);

this.courseTableDataSec = new SimpleStringProperty(courseTableDataSec);

public String getCourseTableDataCode() {

return courseTableDataCode.get();

public SimpleStringProperty courseTableDataCodeProperty() {

return courseTableDataCode;

public void setCourseTableDataCode(String courseTableDataCode) {

this.courseTableDataCode.set(courseTableDataCode);

public String getCourseTableDataTitle() {

return courseTableDataTitle.get();

public SimpleStringProperty courseTableDataTitleProperty() {

return courseTableDataTitle;

public void setCourseTableDataTitle(String courseTableDataTitle) {

this.courseTableDataTitle.set(courseTableDataTitle);

public int getCourseTableDataCredit() {

return courseTableDataCredit.get();

public SimpleIntegerProperty courseTableDataCreditProperty() {

return courseTableDataCredit;

public void setCourseTableDataCredit(int courseTableDataCredit) {

this.courseTableDataCredit.set(courseTableDataCredit);

public String getCourseTableDataSec() {

return courseTableDataSec.get();

public SimpleStringProperty courseTableDataSecProperty() {

return courseTableDataSec;

public void setCourseTableDataSec(String courseTableDataSec) {

this.courseTableDataSec.set(courseTableDataSec);

OUTPUT:

STUDENT DISPLAY SCREEN


CODE :

package profileView;

import database.DBConnection;

import javafx.event.Event;

import javafx.fxml.FXML;

import javafx.scene.chart.LineChart;

import javafx.scene.chart.XYChart;

import javafx.scene.image.Image;

import javafx.scene.image.ImageView;

import javafx.scene.text.Text;

import sun.tracing.NullProviderFactory;

import java.lang.reflect.InvocationTargetException;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class ProfileView {

@FXML

private ImageView profilePic;

@FXML

Text tID;

@FXML

Text tName;

@FXML

Text tDepartment;

@FXML

Text tCGPA;

@FXML

Text tDOB;

@FXML

Text tEmail;

@FXML

Text tVEmail;

@FXML

Text tPhone;

@FXML

Text tAddress;

@FXML

Text tGName;

@FXML

Text tGEmail;

@FXML

Text tGPhone;

DBConnection database = new DBConnection();

Connection connection;

Statement statement;

ResultSet resultSet

@FXML

private LineChart<String,Number> gpaVisualization;

private Info currentInfo;

public void setCurrentInfo(Info currentInfo) {

tID.setText(currentInfo.getId());

tName.setText(currentInfo.getName());

tDepartment.setLayoutX(tName.getLayoutX()+10+tName.getBoundsInParent().getWidth());//Adjust
Layout with name

tDepartment.setText(currentInfo.getDepartment());

tCGPA.setText(currentInfo.getCgpa());

tVEmail.setText(currentInfo.getVemail());

tDOB.setText(currentInfo.getDob());

tEmail.setText(currentInfo.getEmail());

tPhone.setText(currentInfo.getPhone());

tAddress.setText(currentInfo.getAddress());

tGName.setText(currentInfo.getGname());

tGEmail.setText(currentInfo.getGemail());

tGPhone.setText(currentInfo.getGphone());

try {

Image image = new Image("/image/"+currentInfo.getfullId()+".jpg");

profilePic.setImage(image);

catch (Exception e){

profilePic.setImage(new Image("/image/default-user-icon.png"));

this.currentInfo = currentInfo;

@FXML

private void setLoadGpaButtonClcik(Event event){

gpaVisualization.getData().clear();

XYChart.Series<String,Number> gpaLineChart = new XYChart.Series<String,Number>();

try {

connection = database.getConnection();

statement = connection.createStatement();

resultSet = statement.executeQuery("SELECT * FROM student where dbStudentID =


'"+currentInfo.getfullId()+"';");

while (resultSet.next()){

for (int i = 1; i <12 ; i++) {

if(resultSet.getDouble("dbStudent"+i+"thSemGpa")!=0.00){

gpaLineChart.getData().add(new XYChart.Data<String,Number>(i+"th",
resultSet.getDouble("dbStudent"+i+"thSemGpa")));

gpaLineChart.setName("All GPA");

gpaVisualization.getData().add(gpaLineChart);

}} catch (SQLException e) {

e.printStackTrace();

OUTPUT:

STUDENT DELETE SUCESSFULLY


CODE :

package teacher;

import javafx.beans.property.SimpleStringProperty;

public class TeacherTableData {

private final SimpleStringProperty teacherTableDataID;

private final SimpleStringProperty teacherTableDataName;

private final SimpleStringProperty teacherTableDataGPA;

private final SimpleStringProperty teacherTableDataPhone;

private final SimpleStringProperty teacherTableDataEmail;

public TeacherTableData(String teacherTableDataID, String teacherTableDataName, String


teacherTableDataGPA, String teacherTableDataPhone, String teacherTableDataEmail) {

this.teacherTableDataID = new SimpleStringProperty(teacherTableDataID);

this.teacherTableDataName = new SimpleStringProperty(teacherTableDataName);

this.teacherTableDataGPA = new SimpleStringProperty(teacherTableDataGPA);

this.teacherTableDataPhone = new SimpleStringProperty(teacherTableDataPhone);

this.teacherTableDataEmail = new SimpleStringProperty(teacherTableDataEmail);

public String getTeacherTableDataID() {

return teacherTableDataID.get();

public SimpleStringProperty teacherTableDataIDProperty() {

return teacherTableDataID;

public void setTeacherTableDataID(String teacherTableDataID) {

this.teacherTableDataID.set(teacherTableDataID);

public String getTeacherTableDataName() {

return teacherTableDataName.get();

public SimpleStringProperty teacherTableDataNameProperty() {

return teacherTableDataName;

public void setTeacherTableDataName(String teacherTableDataName) {

this.teacherTableDataName.set(teacherTableDataName);

public String getTeacherTableDataGPA() {

return teacherTableDataGPA.get();

public SimpleStringProperty teacherTableDataGPAProperty() {

return teacherTableDataGPA;

public void setTeacherTableDataGPA(String teacherTableDataGPA) {

this.teacherTableDataGPA.set(teacherTableDataGPA);

public String getTeacherTableDataPhone() {

return teacherTableDataPhone.get();

public SimpleStringProperty teacherTableDataPhoneProperty() {

return teacherTableDataPhone;

public void setTeacherTableDataPhone(String teacherTableDataPhone) {

this.teacherTableDataPhone.set(teacherTableDataPhone);

public String getTeacherTableDataEmail() {

return teacherTableDataEmail.get();

public SimpleStringProperty teacherTableDataEmailProperty() {

return teacherTableDataEmail;

public void setTeacherTableDataEmail(String teacherTableDataEmail) {

this.teacherTableDataEmail.set(teacherTableDataEmail);

OUTPUT:

Skills Developed / Learning outcome of this Micro-


The following skills are developed:
1) Identifying: Identifying the problem and cause of problem in the area
related and prepare project proposals before starting the project.
2) Derive: Derive different possible solutions creatively.
3) Data Collection: Collect relevant data from different sources (books/the
internet/the market/suppliers/experts and others through surveys/
interviews).
4) Designing: Designing of micro project with minimum required resources
(low cost).

5) Developing: Develop the prototype/model/ of the desired equipment/


instrument/machine part etc.
6) Teamwork: Learn to work in a team and boost individual confidence.
7) Time Management: Timely completion of micro project as scheduled.
8) Data Analysis: Interpretation of data, drawing and analysis of laboratory
calculations etc.
9) Problem-solving: Develop good problem-solving skills.
10)Safety: Incorporate safety features in products.
11)Technical Writing: Preparing a report of the proposed plan and final
report.
12)Presentation and communication skills: Giving working model
presentation of the micro project.
13)Confidence: Confidently, answer the questions asked about the project.
14)Acknowledgement: Acknowledge the help rendered by others in the
success of the projecT

Project Applications of this Micro-Project

Encryption is the transformation of data into a form unreadable by anyone without a


secret decryption key. Its purpose is to ensure privacy by keeping the information
hidden from anyone for whom it is not intended, even those who can see the
encrypted data. For example, one may wish to encrypt files on a hard disk to prevent
an intruder from reading them.

(To be evaluated by the concerned teacher)

Log Book
Student Name: Sai Bhot

Roll no: 21481

Day: 1 Duration: 2 HR

Today, we were informed to form groups of three students for the JAVA micro-project, we were
required to create an enhancive Micro project and ma’am specified that the group strength
should not exceed more than three students. And told us to search the micro-project topic, the
topic should be industry application based, internet-based, workshop-based, laboratory-based or


field-based. And told that the micro-project should encompass two or more Cos which are in
fact, an integration of PrO s, UO s, and ADO s. He also told the each group member will have to
maintain a dated diary consisting of individual contribution in the project work. The total
duration of the micro-project should not be less than 16 student engagement hours during the
course. And the micro-project should be submitted before the end of the semester to develop the
industry oriented Cos.

Following are my team-members:

1) Sai Bhot (21481)


2) Ashish Khobragade (21482)

Day: 2 Duration: 2 HR

Today, we started searching the micro-project topic on the internet. We found many topics like
College Management System, Hotel Billing System, Medical Store stock management system ,
Some pin ball games and etc. We decided to work on Student Registration Form. Ma’am
explained to us the packages and classes to be made, the concept of various inheritance that
should be considered and begin the work on micro-project. We started discussing the topics to be
covered that has to be done to make the project complete. We decided to divide the work
between us and work individually to make the project.

Day: 3 Duration: 2 HR

We were supposed to design the overall structure of the project and we were working on the
actual code that has to be implemented. We decided to make different classes and using different
keywords like super final in the classes.

Day: 4 Duration: 2 HR

Today, we decided to implement classes. We decided to use user defined exception, etc.

Day: 5 Duration: 2 HR












As we decided to make a different classes and packages such as login, student class, exam class
so it became easy for us to divide the work. 1. I (Sai) was implementing the user defined
exception class and designing user defined package which will we further imported 2. Ashish
was implementing switch case and the final result class. And we decided to complete it on Day 6
and explain the code to everyone one. We started searching the best possible way that can be
implemented.

Day: 6 Duration: 2 HR

I finally completed my work and explained the form to my team member. We compiled and
interpreted the code .The code was error-free we got the output on our first attempt to run it.
Now, the final work was to create a report on the micro-project which we decided to make on
Day 7.

Day: 7 Duration: 2 HR

Ma’am instructed us the format of the report and according to it we started creating the report.
Ma’am told us to submit the report on specified date. The report was completed and we took the
hard copy of it.

Day: 8 Duration: 2 HR

We submitted the report. Creating such projects boosts our Communication skills, debugging
skills. It also gives us an experience of how to work in a team.

Student Name: Ashish Khobragade

Roll no: 21482

Day: 1 Duration: 2 HR

Today, we were informed to form groups of three students for the JAVA micro-project, we were
required to create an enhancive Micro project and ma’am specified that the group strength
should not exceed more than three students. And told us to search the micro-project topic, the
topic should be industry application based, internet-based, workshop-based, laboratory-based or
field-based. And told that the micro-project should encompass two or more Cos which are in
fact, an integration of PrO s, UO s, and ADO s. He also told the each group member will have to
maintain a dated diary consisting of individual contribution in the project work. The total
duration of the micro-project should not be less than 16 student engagement hours during the






course. And the micro-project should be submitted before the end of the semester to develop the
industry oriented Cos.

Following are my team-members:

1) Sai Bhot (21481)


2) Ashish Khobragade (21482)

Day: 2 Duration: 2 HR

Today, we started searching the micro-project topic on the internet. We found many topics like
College Management System, Hotel Billing System, Medical Store stock management system ,
Some pin ball games and etc. We decided to work on Student Registration Form. Ma’am
explained to us the packages and classes to be made, the concept of various inheritance that
should be considered and begin the work on micro-project. We started discussing the topics to be
covered that has to be done to make the project complete. We decided to divide the work
between us and work individually to make the project.

Day: 3 Duration: 2 HR

We were supposed to design the overall structure of the project and we were working on the
actual code that has to be implemented. We decided to make different classes and using different
keywords like super final in the classes.

Day: 4 Duration: 2 HR

Today, we decided to implement classes. We decided to use user defined exception, etc.

Day: 5 Duration: 2 HR

As we decided to make a different classes and packages such as login, student class, exam class
so it became easy for us to divide the work. 1. Sai was implementing the user defined exception
class and designing user defined package which will we further imported 2. I (Ashish) was
implementing switch case and the final result class. And we decided to complete it on Day 6 and












explain the code to everyone one. We started searching the best possible way that can be
implemented.

Day: 6 Duration: 2 HR

I finally completed my work and explained the form to my team member. We compiled and
interpreted the code .The code was error-free we got the output on our first attempt to run it.
Now, the final work was to create a report on the micro-project which we decided to make on
Day 7.

Day: 7 Duration: 2 HR

Ma’am instructed us the format of the report and according to it we started creating the report.
Ma’am told us to submit the report on specified date. The report was completed and we took the
hard copy of it.

Day: 8 Duration: 2 HR

We submitted the report. Creating such projects boosts our Communication skills, debugging
skills. It also gives us an experience of how to work in a team.

You might also like