0% found this document useful (0 votes)
22 views25 pages

Shubham Wadhwa Project Report 20001602055

Uploaded by

Rahul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views25 pages

Shubham Wadhwa Project Report 20001602055

Uploaded by

Rahul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

CORPINESS GLOBAL PVT LTD.

PROJECT REPORT
SMART SEARCH ENGINE USING JAVA AND
SPRING FRAMEWORK

SUBMITTED BY:
SHUBHAM WADHWA
20001602055
SESSION(2020-2022)

UNDER THE GUIDENCE OF


TECHNICAL LEAD - MR. HARSH KUMAR
CORPINESS GLOBAL PVT. LTD.

DEPARTMENT OF COMPUTER
APPLICATION
JC BOSE UNIVERSITY OF SCIENCE
AND TECHNOLOGY,YMCA ,
FARIDABAD , HARYANA
Corpiness"
Business Grow From Here..

INTERNSHIP CERTIFICATE
4th july 2022

This is to certify that Mr. Shubham Wadhwa S/o Mr. Satish


Kumar Wadhwa of MCA of J.C. Bose University of Science and
Technology, YMCA, Faridabad, has undergone training with our
company Corpiness Global Pvt. Ltd.(CGPL) from
17/01/2022 to 28/06/2022 under Mr. Harsh Kumar (Smart Search
Engine).
During the above mentioned period his conduct and behaviour
remains good, we wish him all the best for future.

Himanshu Sachdeva
0ess
dio
GloA
Delhi
DIRECTOR CR/
CGPL Corpiness Global Pvt Ltd

CGPL CORPINESS GLOBAL PRIVATE LIMITED


office: Unit No. 308,Third Floor, Vardhman Mal.Sector-19, Faridabad (Delhi NCR), Haryana -121002, India Toll Free
No.: 1800 5323 999, Ph-989 1807878, E-mail: [email protected],Web. www.corpiness.com
J. C. Bose University of Science and Technology, YMCA, Faridabad
Training & Placement Cell

CANDIDATE’S
DECLARATION

I hereby certify that the work which is being presented in this project
report titled SMART SEARCH ENGINE submitted to “J. C. Bose University
of Science & Technology, YMCA, Faridabad”, is an authentic record of my
own work carried out in the company “CGPL Corpiness Global Pvt Ltd”. The
work contained in this thesis has not been submitted to any other University of
Institute.

Student Signature

Student Name Shubham Wadhwa

Student Roll No. 20001602055

EXAMINERS EVALUATION

The project report has been evaluated by us.

Internal Examiner

Signature:
Name:
Designation:-
Date:

External Examiner

Signature:
Name:
Designation:-
Date:

~i~
ACKNOWLEDGEMENT

I take this opportunity to express my profound sense of gratitude and


respect to all those who helped me throughout the duration of my
project work.
First of all I would like to thank Mr. Himanshu Sachdeva (Director
, CGPL) for giving me the great opportunity to be a part of a
prestigious company Corpiness Global Pvt Ltd. and allocating me
the project work which has enabled me to gain a lot in terms of
practical application of things available in theory and enabled me to
contribute to the team in an effective way.
I would also like to acknowledge Mr. Harsh Kumar (Tech Lead)
who helped me with their constant involvement during my project
tenure here.
Large scale successful projects have an efficient team working
behind them. I owe my thanks to all theCorpiness Global Pvt Ltd.
team members for entertaining my queries and supporting me
throughout the training period.

Thank you
Shubham Wadhwa

~ ii ~
TABLE OF CONTENT

CHAPTER TITILE PAGE NO.


NO.

1 INTRODUCTION TO PROJECT 1-2

2 REQUIREMENT ANALYSIS 3

3 DESIGN 4-6

4 INFORMATION ABOUT MODULE 7-9

5 DATASET 10

6 INFORMATION ABOUT TEST 11-12


AND STRATEGY

7 GUI 13-14

8 REFRENCES 15

9 BRIEF PROFILE OF A STUDENT 16

~ iii ~
COMPANY PROFILE

Corpiness global pvt ltd is an Indian e-commerce company that


provides B2B and customer to customer sales services via its web
portal.
It all began 04 August 2017 when Himanshu Sachdeva and
PRASHANT KUMAR VERMA founded the website
wwwcorpiness.com,a business-to-business portal to connect Indian
manufacturers with buyers.
Corpiness.com is a site which is one of the emerging business to
business portals, where one can get connected with the trade world.
Whether one is buying or selling this is a b2b portal, where
international importers and exporters meet. If one wants to export
from china or import in America this is the right portal to connect.
We are one of the India's Prime B2B Marketplace over 2 lakhs
Business Members.The company is headquartered in Faridabad.
Cgpl Corpiness Global Private Limited's Corporate Identification
Number is (CIN) U74999HR2017PTC070210 and its registration
number is 70210.Its Email address is [email protected] and its
registered address is UNIT NO.308, THIRD FLOOR, VARDHMAN
MALL SECTOR-19 FARIDABAD Faridabad HR 121002 IN , - , .

~ iv ~
Chapter 1.
INTRODUCTION TO PROJECT

Recipe house: search engine for recipes

• It involves two processes: Indexing and Querying.

• It aims to combine the features like search based on recipe name,


ingredients and provide an intuitive interface for the same.

• Starting from INDEXING PROCESS, it tokenizes each entry of


DataSet into various small index terms using String.split("Regular
Expression") function and modifying them using linguistic tools:
replaceAll("String Regular Expression","String Replacement").

• Now, INVERTED INDEX is made by storing pairs of modified


index term and Serial Number of entry of Data Set to which this index
term belongs using Hashmap in Java.

• We take input query from the user, tokenize it and correspondingly


we create a rank list of entries and then display the appropriate results.

• User Interaction is provided by taking input from user and providing


ranked list of documents as a result.

~1~
Scope of the Proposed System

DATASET: The DataSet consists of various recipes in .csv file. This file can be
anytime updated by administrator and any numberof recipes can be added.

INDEXING: Using INVERTED INDEX, Hashmap will contain each index term in
data set contains entry numbers to which it belongs. We can store/save this hashmap
in a .txt file. So that everytime we process a search there is no need to create
INVERTED INDEX redundantly.

NOTE: Whenever admin updates the DataSet by adding newentries, we have to create
INVERTED INDEX again.

QUERY PROCESS AND RANKING: In this we take query input from the user,
tokenize it and correspondingly search the results from the INVERTED INDEX,
Rank them according to thescores which resembles closely to the given input query.

USER INTERFACE: It is used to take input query from user anddisplay


appropriate results on the webpage

~2~
Chapter 2.

REQUIREMENT ANALYSIS

Operating System Server: Windows XP or later

DataSet: .csv file

Client: Microsoft Edge

Tools: Intellij Professional

User Interface: HTML,CSS

Code Behind: JAVA, SPRING BOOT

Hardware Specification :

Processor: Intel Pentium or More

Ram: 512 MB Ram

Hard Disk: PC with 512GB

~3~
Chapter 3.

DESIGN

3.1 Flow chart

Indexing process:

The First Step of this entire process is the search engine, So Taking the dataset and
processing it by using Tokenization and Linguistic Tools, and Indexing it using
HashMap we get the Inverted Index Created.

Datset Indexd modified inverted


terms indexed index

terms

~4~
Querying process:

This Flow shows the Query Process from taking the input from the user and then
processing the query and ranking the results generated from the inverted index created
& finally printing the output results on the user Interface

~5~
Whole process:

This shows the entire process combining both the important stages- TheIndexing
and The Query Process.

At last we have finally generated the Results efficiently according to theQuery Input
given by the user.

Dataset

~6~
Chapter 4.

INFORMATION ABOUT MODULE

Programming Language:

JAVA:

Java is a high-level, class-based, object-oriented programming language that is


designed to have as few implementation dependencies as possible. It is a general-
purpose programming language intended to let programmers write once, run
anywhere (WORA),meaning that compiled Java code can run on all platforms that
support Java without the need to recompile. Java applications are typically compiled
to bytecode that can run on any Java virtual machine (JVM) regardless of the
underlying computer architecture.

What is JVM – Java Virtual Machine?


Java programs are first compiled into Java Byte Code(Binary form) and then a special
Java interpreter interprets them for a specific platform.

Java ByteCode is the machine language for Java Virtual machine(JVM). The JVM
converts the compiled binary byte code into a specific machine language.

Java Virtual machine acts as a subpart of Java Runtime Environment(JRE)

~7~
HASHMAP

HashMap contains an array of the nodes, and the node is represented as a class. It uses
an array and LinkedList data structure internally for storing Key and Value. Hashing
is a technique or process of mapping keys, and values into the hash table by using a
hash function. It is done for faster access to elements. The efficiency of mapping
depends on the efficiency of the hash function used.

Frequently Used Hashmap Methods:

• public boolean containsKey(Object key): Returns true if this map contains a


mapping for the specified key.
• public boolean containsValue(Object value): Returns true if this map maps
one or more keys to the specified value.
• public void get(Object key): Returns the value to which the specified key is
mapped, or null if this map contains no mapping for the key.
• public void put(K key, V value): Associates the specified value with the
specified key in this map (optional operation). If the map previously contained
a mapping for the key, the old value is replaced by the specified value.
• public voidoid putAll(Map<? extends K, ? extends V> m): Copies all of the
mappings from the specified map to this map. These mappings will replace
any mappings that this map had for any of the keys currently in the specified
map.
• public void remove(Object key): Removes the mapping for a key from this
map if it is present (optional operation).
• public boolean isEmpty(): A utility method returning true if no key-value
mappings are present in the map.
• public Set<K> keySet(): Returns a Set view of the keys contained in this map.
The set is backed by the map, so changes to the map are reflected in the set,
and vice-versa.
• public Set<Map.Entry<K,V>> entrySet(): This method returns a Set view of
the HashMap mappings. This set is backed by the map, so changes to the map
are reflected in the set, and vice-versa.

~8~
INDEXING PROCESS:

~9~
Searching and ranking

~ 10 ~
Sorting according to scores

~ 11 ~
Chapter 5.

DATA SET:

This is an instance of the dataset used for our project, which is a .csv (Comma
Separated Values) File. The Dataset consists of 4000+ entries for recipes along with
the links to the website for the recipe.

First column shows the Serial No. which is also used as ID in our processing

Second Column Shows the Recipe Name on the basis of which our searchingWorks
mainly.

Third and the last column shows the Website URL which can also be displayedalong
with the search result

~ 12 ~
Chapter 6.

INFORMATION ABOUT TEST AND STRATEGY

Testing Techniques is the method applied to evaluate a system or a component with a


purpose to find if it satisfies the given requirements. Testing of a system helps to
identify gaps, errors, or any kind of missing requirements differing from the actual
requirements. Testing techniques are the best practices used by the testing team to
assess the developed software in regards to given requirements. These techniques
ensure the overall quality of the product or software including performance, security,
customer experience, and so on. This article gives the reader a basic understanding of
testing techniques, types of testing techniques, applications, and advantages and
disadvantages.

Types of Testing:-

1. Unit Testing

It focuses on the smallest unit of software design. In this, we test an individual unit or
group of interrelated units. It is often done by the programmer by using sample input
and observing its corresponding outputs.

2. Integration Testing

The objective is to take unit-tested components and build a program structure that has
been dictated by design. Integration testing is testing in which a group of components
is combined to produce output.

3. Regression Testing

Every time a new module is added leads to changes in the program. This type of
testing makes sure that the whole component works properly even after adding
components to the complete program.

4. Alpha Testing

This is a type of validation testing. It is a type of acceptance testing which is done


before the product is released to customers. It is typically done by QA people.

~ 13 ~
5. Beta Testing

The beta test is conducted at one or more customer sites by the end-user of the
software. This version is released for a limited number of users for testing in a real-
time environment

6. System Testing

This software is tested such that it works fine for the different operating systems. It is
covered under the black box testing technique. In this, we just focus on the required
input and output without focusing on internal working.

In this, we have security testing, recovery testing, stress testing, and performance
testing

TESTING

TESTING METHODOLOGY:
• Test plan has been created to guide the overall testing process
• Modular testing has been used to test each module.
• Terminal debugger has been used as a tool to black box test functional
behavior of the module.

TEST CASE-1
Test No.: 1
Test Type: Input Testing
Input: Single containing String
Objective: Existing keyword in the data
Expected Output: Recipes of the keyword
Actual Output: Recipes of the keyword
Result: As expected

TEST CASE-2
Test No.: 2
Test Type: Input Testing
Input: Single non containing String
Objective: Checking the NULL outputs
Expected Output: Error Message
Actual Output: oops no result found
Result: As expected

~ 14 ~
TEST CASE-3
Test No.: 3
Test Type: Input Testing
Input: NULL input
Objective: Checking the output if nothing is passed
Expected Output: Every Recipe
Actual Output: Every Recipe
Result: As expected

TEST CASE-4
Test No.: 4
Test Type: Input Testing
Input: Multiple containing String
Objective: Checking the output if both strings are checked
Expected Output: Recipes of the keywords
Actual Output: Recipes of the keywords
Result: As expected

~ 15 ~
Chapter 7.

SNAPSHOTS OF GUI

Home page

~ 16 ~
Result page

~ 17 ~
Chapter 8

Refrences

Reference / Hand Books


1. Data Structures and Algorithms in Java Michael T. Goodrich
2. The Spring Framework- Reference Documentation

Websties
1. https://www.javatpoint.com/
2. https://spring.io/
3. www.tutorialspoint.com
4. https://www.corpiness.com/

~ 18 ~
Chapter 9.

BRIEF PROFILE OF STUDENTS

1.Personal Details

a. Name: shubham wadhwa


b. Email: [email protected]
c. Roll Number: 20001602055
d. Branch : MCA
e. Mobile Number 9560783705
f. Address: H.no 2134 , sec-3 ,Faridabad, Haryana.
2. Father’s Details

a. Name: Satish Kumar Wadhwa


b. Occupation: Private job
c. Mobile Number: 9711156616
3. Mother’s details

a. Name: Anita Wadhwa


b. Occupation: Home maker
c. Mobile Number: 9289787226

I undertake that I will inform Employment and training office


immediately in any case of any change of my personal details.

Dated: Signature

~ 19 ~

You might also like