AJP Microproject
AJP Microproject
ON
Submitted by
Aliasgar Jhalodwala
Arfa Shaikh
Taufique Shaikh
Arif Saiyed
Project guide
2022-23
1
CERTIFICATE
This is to certify that the report has been submitted by Arif Saiyed (2116350069),
Taufique Shaikh (2116350070), Arfa Shaikh (2116350071), Aliasgar Jhalodwala
(2116350088).
This project work has been completed by 2023-24 year students of course
COMPUTER ENGINEERING as a part of team work prescribed by Maharashtra
State Board of Technical Education, Mumbai.
We have guided and assisted the students for the above work, and have been
satisfactory /good / very good.
2
STATEMENT BY THE CANDIDATE
I hereby declare that the project work entitled “Wikipedia Search Engine” submitted
to Theem College of Engineering, is a record of an original work done by me under
the guidance of Prof. Sarika Patil. The results embodied in this thesis have not been
submitted to any other University or Institute for the award of any degree or diploma.
Aliasgar Jhalodwala
3
STATEMENT BY THE CANDIDATE
I hereby declare that the project work entitled “Wikipedia Search Engine” submitted
to Theem College of Engineering, is a record of an original work done by me under
the guidance of Prof. Sarika Patil. The results embodied in this thesis have not been
submitted to any other University or Institute for the award of any degree or diploma.
Arfa Shaikh
4
STATEMENT BY THE CANDIDATE
I hereby declare that the project work entitled “Wikipedia Search Engine” submitted
to Theem College of Engineering, is a record of an original work done by me under
the guidance of Prof. Sarika Patil. The results embodied in this thesis have not been
submitted to any other University or Institute for the award of any degree or diploma.
Taufique Shaikh
5
STATEMENT BY THE CANDIDATE
I hereby declare that the project work entitled “Wikipedia Search Engine” submitted
to Theem College of Engineering, is a record of an original work done by me under
the guidance of Prof. Sarika Patil. The results embodied in this thesis have not been
submitted to any other University or Institute for the award of any degree or diploma.
Arif Saiyed
6
ACKNOWLEDGEMENT
Apart from the efforts of ourselves, the success of the project depends largely on the
encouragement and guidance of many others. We would like to take this opportunity to
express our gratitude to the people who have been instrumental in the successful
completion of this project.
We would like to express a deep sense of gratitude to Principal Saiyed Layak and our
Head of the Department Prof. Rosy Bhoi for their cordial support as they gave the
permission to use all required equipment and the necessary material to complete the
project.
We would like to extend our sincerest gratitude to Prof. Sarika Patil for her guidance
and supervision as well as for providing necessary information regarding the project
and also for the support in completing the project.
Finally, we would heartfully thank to our parents and friends for being with us end
encouraging us throughout the project.
Aliasgar Jhalodwala
Arfa Shaikh
Taufique Shaikh
Arif Saiyed
7
ABSTRACT
The primary objectives of this project were to create an easy-to-use interface that
enables users to enter search queries, retrieve search results, and display relevant
Wikipedia articles in a readable format. The project achieves these goals by
integrating core components, including text fields, buttons, and text areas, into a
seamless and aesthetically pleasing user interface.
The "Wikipedia Search Engine" project not only provides a valuable tool for
individuals seeking knowledge from Wikipedia but also serves as an educational
endeavor in Java Swing GUI development and API integration. The utilization of
modern software engineering principles, such as modular design and error handling,
demonstrates the practical application of software engineering concepts.
8
TABLE OF CONTENTS
5 Uses of API 14
6 Project Code 15
7 Project Ouput 20
8 References 22
9
INTRODUCTION (JAVA SWING)
Swing has about four times the number of User Interface [UI] components as AWT
and is part of the standard Java distribution. By today’s application GUI requirements,
AWT is a limited implementation, not quite capable of providing the components
required for developing complex GUI’s required in modern commercial applications.
The AWT component set has quite a few bugs and really does take up a lot of system
resources when compared to equivalent Swing resources. Netscape introduced its
Internet Foundation Classes [IFC] library for use with Java. Its Classes became very
popular with programmers creating GUI’s for commercial applications.
10
FEATURES OF SWING CLASS
11
SWING CLASSES HIERARCHY
12
ABOUT WIKIPEDIA API
Knowledge access is more important than ever in the era of digital information.
Wikipedia is one of the most extensive and easily available knowledge bases on the
internet, which has developed into a large repository of information. Wikipedia is a
useful tool for anyone looking to learn more about a variety of topics, from history
and science to culture and technology, thanks to its vast collection of articles covering
a wide range of themes.
This report's "Wikipedia Search Engine" project is an effort to harness the abundance
of knowledge found on Wikipedia and make it easily accessible to users via a user-
friendly graphical interface.
At the heart of this project lies the utilization of the Wikipedia API, specifically the
endpoint at https://en.wikipedia.org/w/api.php. This API provides programmatic
access to Wikipedia's vast collection of articles and metadata, enabling developers to
create applications that interact with and retrieve data from Wikipedia's database.
13
USES OF THE WIKIPEDIA API
The Wikipedia API, with its versatile features and rich dataset, offers a multitude of
applications across various domains. In the context of the "Wikipedia Search Engine"
project, the API serves several key purposes:
14
PROJECT CODE
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.*;
import java.util.Scanner;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
15
if (responseCode != 200) {
16
} catch(Exception e) {
17
inputBox.setBorder(null);
background.add(inputBox);
searchResult.setVisible(false);
searchResult.setBackground(new Color(219, 219, 219));
background.add(searchResult);
searchBtn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
18
titleLbl.setBounds(20, 20, 200, 40);
searchResult.setVisible(true);
String response;
try {
response = wikipediaSearch(inputBox.getText());
searchResult.setText(response);
} catch (IOException e1) {}
}
});
Jf.setLayout(null);
Jf.setSize(750, 500);
Jf.setVisible(true);
Jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
19
PROJECT OUTPUT
20
21
REFERENCES
1. https://www.geeksforgeeks.org/introduction-to-java-swing/
2. https://www.mediawiki.org/wiki/API:Main_page
3. https://www.javatpoint.com/java-swing
4. https://docs.oracle.com/javase/tutorial/uiswing/
5. https://www.codingninjas.com/studio/library/swing-components-in-java
6. https://www.tutorialspoint.com/swing/index.htm
22