Purple Learn Java Online Facebook Post
Purple Learn Java Online Facebook Post
Purple Learn Java Online Facebook Post
Table of Contents
1 | INTRODUCTION
2 | LITERATURE REVIEW
3 | SYSTEM DESIGN
3.1 REQUIREMENTS ANALYSIS
3.2 DATABASE DESIGN
4 | IMPLEMENTATION
4.1 DEVELOPMENT ENVIRONMENT SETUP
4.2 CODE STRUCTURE
4.3 DATABASE CONNECTIVITY
4.4 USER INTERFACE
5 | CONCLUSION
Eclipse
Integrated Development Environment (IDE): Eclipse is a powerful IDE that supports Java
development with features like code completion, debugging, and integrated version control.
Plugin Ecosystem: Eclipse’s extensive plugin ecosystem enhances development capabilities,
allowing integration with various tools and frameworks.
Community Support: A large and active community provides abundant resources, tutorials, and
forums for troubleshooting and learning.
3 | System Design
3.1 Requirements Analysis
Functional Requirements
Admin Management
personal information(view , update)
manage teachers(add , view , update)
manage students(add , view , update)
Student Management
pesonal information ( view)
Teacher Management
pesonal information ( view , update)
Non-Functional Requirements
Data encryption for sensitive information.
Intuitive and user-friendly interface
User authentication and authorization mechanisms.
3.2 Database Design
E-R Diagram
Data base tables
course table admin table
teacher table
student table
user table
teacher table
exam table
scholarship table
4 | Implementation
4.1 Development Environment Setup
i have downloaded each of mysql workbench from oracle official website
and also i have downloaded the main software that will help me to perform my java
project easily and efficiently
4.2 Code Structure
1- essencial Class
main Method:
Creates an instance of IdAndPassword to fetch login information.
Passes this login information to the LogInPage constructor to initialize the login page.
5-AdminInfoPage Class
Components and Methods:
Components:
JFrame frame: Main window frame.
JLabel adminLabel: Label for the admin
dashboard title.
JButton personalInfoButton,
manageTeachersButton,
manageStudentsButton: Buttons for navigation.
Constructor:
Sets up the layout and positions of
labels and buttons.
Adds action listeners to buttons to
open respective management pages.
6-StudentManagementPage Class
Components and Methods:
Components:
JFrame frame: Main window frame.
JLabel studentManagementLabel: Label for the student management page.
JButton addStudentButton: Button to open the page for adding a new student.
JPanel studentPanel: Panel to display the list of students.
JScrollPane scrollPane: Scroll pane for the student panel.
Constructor:
Sets up the layout and positions of labels, buttons, and the panel.
Loads the list of students from the database.
Methods:
loadStudents(JPanel studentPanel): Fetches student usernames from the database and creates
buttons for each student.
7-TeacherManagementPage Class
Components and Methods:
Components:
JFrame frame: Main window frame.
JLabel teacherManagementLabel: Label for the teacher management page.
JButton addTeacherButton: Button to open the page for adding a new teacher.
JPanel teacherPanel: Panel to display the list of teachers.
JScrollPane scrollPane: Scroll pane for the teacher panel.
Constructor:
Sets up the layout and positions of labels, buttons, and the panel.
Loads the list of teachers from the database.
Methods:
loadTeachers(JPanel teacherPanel): Fetches teacher usernames from the database and
creates buttons for each teacher.
8-TeacherInfoPage Class
Properties
JFrame frame: The main window frame for the page.
JLabel teacherInfoLabel: Label for the title of the page.
JLabel emailLabel, JLabel phoneLabel, JLabel workHoursLabel: Labels for email, phone, and
work hours fields respectively.
JTextField emailField, JTextField phoneField, JTextField workHoursField: Text fields for
inputting or displaying the teacher's email, phone, and work hours.
JButton updateButton: Button to trigger updating the teacher's information.
JButton deleteButton: Button to delete the teacher's record from the database.
Constructor
Initializes the frame and components.
Calls loadTeacherInfo(username) to load the teacher's information from the database.
Sets bounds and adds components to the frame.
Adds action listeners to the update and delete buttons.
Methods
loadTeacherInfo(String username): Fetches teacher information from the database and
populates the text fields.
updateTeacher(String username, String field, String newValue): Updates a specific field of the
teacher's information in the database.
deleteTeacher(String username): Deletes the teacher's record from the database.
9-StudentInfoPage Class
Properties
JFrame frame: The main window frame for the page.
JLabel studentInfoLabel: Label for the title of the page.
JLabel emailLabel, JLabel phoneLabel, JLabel gradeLabel: Labels for email, phone, and grade
fields respectively.
JTextField emailField, JTextField phoneField, JTextField gradeField: Text fields for inputting or
displaying the student's email, phone, and grade.
JButton updateButton: Button to trigger updating the student's information.
JButton deleteButton: Button to delete the student's record from the database.
Constructor
Initializes the frame and components.
Calls loadStudentInfo(username) to load the student's information from the database.
Sets bounds and adds components to the frame.
Adds action listeners to the update and delete buttons.
Methods
loadStudentInfo(String username): Fetches student information from the database and
populates the text fields.
updateStudent(String username, String field, String newValue): Updates a specific field of the
student's information in the database.
deleteStudent(String username): Deletes the student's record from the database.
10-AdminInfoPage Class
Properties
JFrame frame: The main window frame for the page.
JLabel adminInfoLabel: Label for the title of the page.
JLabel emailLabel, JLabel phoneLabel, JLabel passwordLabel: Labels for email, phone, and
password fields respectively.
JTextField emailField, JTextField phoneField, JTextField passwordField: Text fields for inputting
or displaying the admin's email, phone, and password.
JButton updateButton: Button to trigger updating the admin's information.
Constructor
Initializes the frame and components.
Calls loadAdminInfo(username) to load the admin's information from the database.
Sets bounds and adds components to the frame.
Adds an action listener to the update button.
Methods
loadAdminInfo(String username): Fetches admin information from the database and populates
the text fields.
updateAdmin(String username, String field, String newValue): Updates a specific field of the
admin's information in the database.
11-User Class
Properties
String username: The user's username.
String password: The user's password.
String role: The user's role (e.g., admin, teacher, student).
Constructor
Initializes the user object with the provided username, password, and role.
Methods
getUsername(): Returns the username.
getPassword(): Returns the password.
getRole(): Returns the role.
12- TeacherPage Class
Properties:
JFrame frame: Main window frame.
JLabel teacherLabel: Label for the dashboard title.
JButton manageClassesButton: Button to manage classes and grades.
JButton teacherInfoButton: Button to view teacher information.
13- ManageClassesPage Class
Properties:
JFrame frame: Main window frame.
JLabel manageLabel: Label for the page title.
14- StudentPage Class
Properties:
JFrame frame: Main window frame.
JLabel studentLabel: Label for the dashboard title.
JButton viewGradesButton: Button to view grades.
JButton scholarshipInfoButton: Button to view scholarship information.
JButton personalInfoButton: Button to view personal information.
15- ViewGradesPage Classs
Properties:
JFrame frame: Main window frame.
JLabel gradesLabel: Label for the page title.
16- ScholarshipInfoPage Classs
properties
JFrame frame: Main window frame.
JLabel scholarshipLabel: Label for the page title.
17- AddStudentPage Class
Properties:
JFrame frame: Main window frame.
JLabel addStudentLabel: Label for the page title.
JLabel userLabel, emailLabel, phoneLabel, gradeLabel: Labels for form fields.
JTextField userField, emailField, phoneField, gradeField: Text fields for user input.
JButton addButton: Button to add student.
18- AddTeacherPage Class
Properties:
JFrame frame: Main window frame.
JLabel addTeacherLabel: Label for the page title.
JLabel userLabel, emailLabel, phoneLabel, workHoursLabel: Labels for form fields.
JTextField userField, emailField, phoneField, workHoursField: Text fields for user input.
JButton addButton: Button to add teacher.
4.3 Database Connectivity
4.4 User Interface
admin
teacher student
5 | CONCLUSION
This project demonstrates the effective use of Java Swing and JDBC to create a
functional and efficient educational management system. It addresses key
administrative needs, providing a solid foundation for further enhancements
and scalability. Through this project, significant progress has been made in
understanding and applying key concepts in GUI development, database
management, and event-driven programming. The system not only meets the
current requirements but also sets the stage for future improvements, making
it a valuable tool for educational institutions.