top of page
Category:

Android App Development

Difficulty:

Beginner

Prerequisite(s):

Java or Kotlin, Android Studio

Skills to be Learned:

Yelp Fusion API, Networking and HTTP Requests, JSON Parsing

Yelp Api App

"YOUR_NAME Yelp" is a user-friendly Android application that simplifies restaurant discovery. With seamless search, sorting, and favorites management, users can effortlessly find and save their preferred dining options

In this assignment, you are tasked with creating an Android application named "YOUR_NAME Yelp." The app is designed to provide users with a seamless restaurant discovery experience. Upon launching the application for the first time, users will see a list of default restaurants, but the core functionality will revolve around searching for restaurants, sorting search results, and saving favorite restaurants. To populate the application with restaurant data, you will integrate the Yelp Fusion API, which offers comprehensive information about businesses, including restaurants.



Part 1: Search Restaurants

Users will have the ability to input search terms like "sushi," "steak," or "bbq" to view search results. The search functionality should be intuitive and easy to use. Users should also be able to clear their search input.



Part 2: Sorting Results

Sorting functionality will allow users to organize search results based on rating and price criteria. The guidelines for sorting are as follows:


1. Sorting by Rating:

  • Restaurants should be ordered from the highest rating to the lowest rating.

  • Utilize the rating value provided by the Yelp Fusion API for ordering.

  • In cases where rating information is unavailable, place the restaurant at the bottom of the list.


2. Sorting by Price:

  • Restaurants should be ordered from the cheapest to the most expensive (e.g., $$$$$).

  • Use the price data provided by the Yelp Fusion API for sorting.

  • In cases where price information is unavailable, place the restaurant at the top of the list.

  • Seamlessly integrate the sorting functionality into your application, allowing users to select their preferred sorting criteria for search results.



Part 3: Add Restaurants to Favorites

Users should have the option to add restaurants to their list of favorites. This can be achieved by clicking on a restaurant item in the search results. A confirmation dialog should appear, asking the user if they want to add the selected restaurant to their favorites. If confirmed, the restaurant should be stored in a database to ensure persistence across application restarts.


To access their favorite restaurants, users can swipe right on the screen to open the navigation drawer and select the "Favorites" option. The navigation drawer should also include a header displaying the application's name.



API Integration and Key Considerations:

To fetch restaurant data, you will need to integrate the Yelp Fusion API into your application. This requires registering for an account with Yelp and obtaining an API key. The API key serves as a unique identifier for authenticating requests and accessing the API's features.


Be sure to carefully review Yelp's API documentation and guidelines to understand how to use the API effectively. Familiarize yourself with the available endpoints, parameters, and response formats to fetch and display accurate restaurant data within your application.



Project Outcome:

By completing this assignment, you will develop a practical Android application that empowers users to search for, sort, and save their favorite restaurants. You will gain valuable experience in integrating external APIs, implementing search and sorting functionality, and managing user preferences for restaurant favorites. This project will enhance your Android development skills and provide a user-friendly restaurant discovery tool for your users.

bottom of page