Android Test Exercise
You are building a listing businesses app with 2 screens.
First screen should list businesses in an area. You can display image, name or any
other info to show each business.
The second screen is business details. The screen is displayed after a tap on a
business from the list. The screen displays information about the business. You need to
display the image, name, address, opening hours, contact, you can add other business
info as you wish or not too. The user needs to have an option to go back to the previous
screen.
Use Yelp! Fusion API to display business info and detailed [Link] use Yelp api you
can create an account and project in Yelp to retrieve authorization token, or you can
use
"1a79-Xh5pOFy67LAfbgSXxeUX8hjVVaS4Hqie_EL1SKqDrximBPcxtCCPD1sq5Q8
LDtSdQiPNq-r5cVQtS7YtJhGy7jpod15eziEAzAtrYjFPAoR2eCOTQs_dbjCXXYx".
Use API businesses/search with any static location or coordinates (ex. latitude =
37.767413217936834, longitude = -122.42820739746094) to get businesses. Here’s
api documentation you can overview all apis and you can use any other api you need
for the requirements.
Feel free to choose what info to be displayed for each item view or detailed view,
including display the image via the associated image url.
The app should be compatible with Android 6.0+ devices. You can use whatever
third-party libs you like. Create the app using Kotlin or Java, or combine.
We want to see how you think and solve problems. You can use some of the design
patterns such as MVVM, MVP, Clean Architecture, but you’re not required to. Maybe
you have some better architecture for a specific problem?
The UX is also interesting to us, and we expect it to be usable.
If you need icons, you can use your own, default or download them from here:
[Link]
What we’re looking for:
• Good understanding of latest Android application components and best practices.
• Good understanding of Kotlin/Java and best practices
• Handling of basic error conditions.
• Basic understanding of UI/UX best practices
• Basic material design
Bonus:
• Additionally, you can add a search input field in the first screen to filter businesses by
its name. When no results are found, empty state is displayed.
• Include proper animation if applicable
• Include basic testing (Unit and/or UI testing)
Project submission:
• Submit the completed project by removing the build folder and attach as a zip to
email.
• Alternatively share through a personal cloud download link should be fine as well.