Skip to content

SearchIt is a Java based project that works with a custom-made Trie data structure that I have termed, FlopTrie, to parse through all the json documents with restaurant id of all the restaurants available in India on Zomato, the food delivery/rating app.

Notifications You must be signed in to change notification settings

rahulnsanand/SearchIt-Java

Repository files navigation

SearchIt

version

SearchIt is a Java based project that works with a custom-made Trie data structure that I have termed, FlopTrie, to parse through all the json documents with restaurant id of all the restaurants available in India on Zomato, the food delivery/rating app.

The basic outline of what the app does is as follows:

  • Parses through all the .json files using the JacsonXML Parser
  • Updates the FlopTrie with all the restaurant names and id to ensure unique values
  • Searches through the FlopTrie for the given restaurant names and makes an API call on selection to Zomato API
  • Upon the GET method of the Zomato API, Another API call is made to google maps static API for location snapshot.
  • Restaurant details are shown including the location snapshot as a result page.

New Features!

  • You can now select a Dark Theme!
  • Downloading the API detail as a .json file is yet to come.
  • Check Internet Connectivity at launch and during search, handled.

Dependencies Used

SearchIt uses these open source projects to work properly:

  • FasterXML-Jackson - Faster Json reading and parsing capabilities!
  • JSoup - Best website accessing method to retrieve restaurant id of thousands of restaurants by the tedious process of webscraping.
  • Google Static Maps API - Pretty straight forward? To get a snapshot of the restaurants location based on longitude and latitude.
  • Zomato API - To get all the details pertaining to a restaurant.
  • Univocity Parser - To read CSV files in the fastest manner, incase our dataset is bunch of .csv files rather than .json
  • IntelliJ - Java - duh!

And of course SearchIt itself is open source with a public repository on GitHub.

Installation

SearchIt requires IntelliJ with Java to run.

Just clone the repository onto a folder of your choice by following these steps. (Hope you have GIT installed)

[My-Folder]$ git clone https://github.com/theflopguy/SearchIt-Java.git

Next, open IntelliJ and open the project.

Build Configuration

Build Configuration

Welcome Screen

ReadMe

Run Main Method

Run Main

Loading The FlopTrie and instances required.

LoadingPage

DarkMode UI

SearchPage Dark

LightMode UI

SearchPage Light

Searching Procedure, Type a restaurant name and hit enter. (Click is not supported, yet)

SearchProcess

Search Result

SearchResult

Once the dependencies are automatically installed through Maven repo, Hope you have Internet, you can run the app by just simply clicking on "Run Main" option.

Development

Want to contribute? Great!

Just improvise your code the way you see fit, describe it in a, well, descriptive manner. And create a pull request.

Java is awesome!

About

SearchIt is a Java based project that works with a custom-made Trie data structure that I have termed, FlopTrie, to parse through all the json documents with restaurant id of all the restaurants available in India on Zomato, the food delivery/rating app.

Resources

Stars

Watchers

Forks

Languages