JavaSynopsis Tanish Saraswat
JavaSynopsis Tanish Saraswat
of
Session 2024-25
School of Computing
CERTIFICATE
Certified that project report entitled “College Management System” submitted
by “Tanish Saraswat” during the period 2024-2025 in partial fulfilment of the
requirements for the award of degree of MCA of DIT University, Dehradun, is a
record of work carried out under my guidance and supervision. The project
report embodies result of referred work and studies carried out by student
themselves and the content of the report do not form the basis for the award of
any other degree to the candidate or to anybody of the team.
School of Computing
ACKNOWLEDGEMENT
Apart from the efforts we put, the success of the project depends largely on the
encouragement and guidelines of many others. We take this opportunity to
express my gratitude to the people who have been instrumental in the successful
completion of this project.
We take immense pleasure in thanking Mr. Ravi Shankar Jha for having
permitted us to carry out this project. We would like to express a deep sense of
gratitude to Dr. Bharti Sharma, Head of Department, MCA, for their able
guidance and useful suggestions, which helped us in completing the project in
time.
Finally, yet importantly, we would like to express our heartfelt thanks to our
parents for their blessings, our friends for their help and wishes for the
successful completion of this project.
ABSTRACT
School of Computing
The College Management System is a desktop application, built in Java with
Swing and JDBC, that partially automates the administrative functions of
educational institutions. This system facilitates the
management of students, courses, faculty, and attendance by providing a user-
friendly interface.
This system aims to digitize the processes and provide access to academic data
while ensuring that all the information is accurate and efficiently archived. It
allows the users to add view and manage student records, course records,
faculty records, and also facilitates tracking of students' attendance, all within a
few clicks.
The system employs a MySQL database which guarantees data storage and
retrieval reliability. The use of JDBC (Java Database Connectivity) makes it
possible for the application to interact with the database in real time, thus
maintaining the integrity of transactions and up-to-date data availability.
This project is suited for small to medium scale educational institutions that
wish to automate administrative processes. It incorporates important principles
of software engineering such as modular design, database access, and GUI
applications in Java.
INDEX
School of Computing
S.No. Title of Content Page No.
1. Introduction
2. Software Requirement
3. Source Code
4. Output
5. Result
6. Applications
7. Conclusion
8. References
INTRODUCTION
School of Computing
In our fast-paced digital world, information technology has taken on a crucial
role in education. Colleges and universities are constantly generating and
handling huge amounts of data every day—think student records, course
enrollments, faculty assignments, and attendance logs. Trying to manage all this
information manually can be a real headache, often leading to mistakes and
inefficiencies.
SOFTWARE REQUIREMENT
Programming Language
School of Computing
o Java (JDK 22)
IDE
o Netbeans 24
Database
o MySQL Server
JDBC Driver
o MySQL Connector/J
SOURCE CODE
import javax.swing.*;
import java.awt.*;
School of Computing
import java.awt.event.*;
import java.sql.*;
import java.util.*;
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
add(p, BorderLayout.NORTH);
t.setEditable(false);
add(new JScrollPane(t), BorderLayout.CENTER);
void connect(){
try{
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/college","root","ta
nish@#17&%");
} catch(Exception e){
JOptionPane.showMessageDialog(this,"Database Connection Failed:
"+e.getMessage());
}
}
void addStudent(){
String name = JOptionPane.showInputDialog("Enter Student Name: ");
String email = JOptionPane.showInputDialog("Enter Student Email: ");
if(name != null && email != null){
try(PreparedStatement ps = conn.prepareStatement("INSERT INTO
students (Name, Email) VALUES (?,?)")){
ps.setString(1,name);
ps.setString(2,email);
ps.executeUpdate();
JOptionPane.showMessageDialog(this,"Student Added!");
}catch(Exception e){
e.printStackTrace();
}
}
}
void addCourse(){
String name = JOptionPane.showInputDialog("Enter Course Name: ");
String code = JOptionPane.showInputDialog("Enter Course Code: ");
if(name != null && code != null){
try(PreparedStatement ps = conn.prepareStatement("INSERT INTO
courses (Course_Name, Code) VALUES (?,?)")){
ps.setString(1,name);
ps.setString(2,code);
ps.executeUpdate();
JOptionPane.showMessageDialog(this,"Course Added!");
}catch(Exception e){
School of Computing
e.printStackTrace();
}
}
}
void addFaculty(){
String name = JOptionPane.showInputDialog("Enter Faculty Name: ");
String department= JOptionPane.showInputDialog("Enter Department: ");
if(name != null && department != null){
try(PreparedStatement ps = conn.prepareStatement("INSERT INTO
faculty (Name, Department) VALUES (?,?)")){
ps.setString(1,name);
ps.setString(2,department);
ps.executeUpdate();
JOptionPane.showMessageDialog(this,"Faculty Added!");
}catch(Exception e){
e.printStackTrace();
}
}
}
void addAttendance(){
String studentId = JOptionPane.showInputDialog("Enter Student ID: ");
String courseId = JOptionPane.showInputDialog("Enter Course ID: ");
String date = JOptionPane.showInputDialog("Enter Date(YYYY-MM-
DD): ");
String status = JOptionPane.showInputDialog("Enter
Status(Present/Absent): ");
if(studentId != null && courseId != null && date != null && status !=
null){
try(PreparedStatement ps = conn.prepareStatement("INSERT INTO
attendance (Student_Id, Course_Id, Date, Status) VALUES (?,?,?,?)")){
ps.setString(1,studentId);
ps.setString(2,courseId);
ps.setString(3,date);
ps.setString(4,status);
ps.executeUpdate();
JOptionPane.showMessageDialog(this,"Attendance Recorded!");
}catch(Exception e){
e.printStackTrace();
}
}
}
School of Computing
void displayRecord(String tableName){
try(Statement stmt = conn.createStatement()){
ResultSet rs = stmt.executeQuery("SELECT * FROM" +tableName);
ResultSetMetaData meta = rs.getMetaData();
int columnCount = meta.getColumnCount();
t.setText("=== " +tableName.toUpperCase() +"===\n");
while(rs.next()){
for(int i=1;i<=columnCount;i++){
t.append(meta.getColumnName(i)+": "+rs.getString(i) +" ");
}
t.append("\n");
}
}catch(Exception e){
e.printStackTrace();
t.setText("Error loading data.");
}
}
public static void main(String[]args){
SwingUtilities.invokeLater(() ->
{
try{
new CollegeManagementSystem().setVisible(true);
}catch(Exception e){
e.printStackTrace();
Database:
School of Computing
OUTPUT
School of Computing
Adding Values to Student:
School of Computing
Added Values to Student:
School of Computing
Added Values to Faculty:
School of Computing
School of Computing
Added Values to Attendance:
School of Computing
RESULT
The College Management System application was successfully designed and implemented
using Java Swing for the graphical user interface and JDBC for database connectivity. The
system allows users to efficiently manage academic operations such as student registration,
faculty assignments, course management, and attendance tracking.
Through rigorous testing, the application demonstrated stability and responsiveness. Users
are able to:
The integration with a MySQL database ensured secure data storage and real-time data
manipulation. The system not only reduces the paperwork and administrative workload in
educational institutions but also provides quick access to critical information for decision-
making.
Overall, the project met its objectives and proved to be a reliable desktop solution for small to
medium-scale colleges looking to streamline their academic management processes.
School of Computing
APPLICATIONS
2. Department Management
Each department can maintain its own faculty, courses, and enrolled
students efficiently.
Helpful for generating departmental reports and audits.
3. Attendance Monitoring
5. Faculty Management
School of Computing
Useful for generating performance summaries and insights into student
engagement.
This system is especially valuable for institutions seeking a reliable and easy-to-
use desktop-based solution that simplifies administrative tasks and centralizes
academic data management.
School of Computing
CONCLUSION
The College Management System developed using Java Swing and JDBC successfully
fulfills the need for a simple, efficient, and user-friendly platform to handle academic data
and administrative tasks in a college environment. The system enables the digital
management of students, courses, faculty, and attendance records, significantly reducing
manual effort and the chances of errors.
By integrating a graphical user interface with a secure MySQL database, the application
ensures that users can interact with data in real-time while maintaining data integrity. It
provides a solid foundation for academic automation, leading to increased productivity, better
organization, and faster decision-making processes.
Throughout the development process, this project demonstrated key programming skills such
as database connectivity, modular design, and GUI implementation. It serves not only as a
practical tool for educational institutions but also as a strong example of applying core Java
technologies in a real-world scenario.
Overall, the project met its goals and offers strong potential for future enhancements, such as
the addition of examination modules, grading systems, fee management, and student login
features.
School of Computing
REFERENCES
Java: The Complete Reference by Herbert Schildt – A go-to book for understanding core
Java concepts and syntax.
Head First Java by Kathy Sierra & Bert Bates – Helped me understand object-oriented
concepts and Java programming in a beginner-friendly way.
GeeksforGeeks & JavaTPoint – Very helpful in learning Swing and JDBC with hands-on
examples.
W3Schools SQL Tutorial – A clear and interactive way to learn basic and advanced SQL
commands.
TutorialsPoint – Provided quick explanations for JDBC, SQL, and Java topics when I
needed concise reference material.
School of Computing