Skip to content

Commit

Permalink
Merge pull request #1 from wwdablu/update_and_kotlin_migration
Browse files Browse the repository at this point in the history
Update application UI/UX with Kotlin
  • Loading branch information
wwdablu authored Dec 29, 2020
2 parents 80ec0cb + 99f63f0 commit 26deea1
Show file tree
Hide file tree
Showing 294 changed files with 7,455 additions and 6,160 deletions.
Binary file added .DS_Store
Binary file not shown.
52 changes: 52 additions & 0 deletions .idea/assetWizardSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added .idea/caches/build_file_checksums.ser
Binary file not shown.
6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 50 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/markdown-navigator-enh.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 62 additions & 0 deletions .idea/markdown-navigator.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

92 changes: 37 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,54 @@
# ZomatoBuddy
# Hungry

This is a restaurant search engine by using the **Zomato API**. It displays the information based on the current geolocation of the user and then displays the list of 20 restaurants based on 3 categories, (1) Dine-out, (2) Delivery and (3) Takeaway.

> Note: I took the existing Zomato application as an inspiration and a baseline to create this application. I am in no way connected to the actual application or anything related to it. The objective of the application is to use Zomato API and create a friendly application that can display those information, hence the name ZomatoBuddy.
The Zomato API needs to be defined in the gradle.properties file. You can also modify the default location to use incase the user did not provide the permission for the geolocation.

This application has been deployed into Google Play Store:
https://play.google.com/store/apps/details?id=com.soumya.wwdablu.zomatobuddy&hl=en

> The master branch contains the latest working code, but may or may not be the one that is present in the Play Store. Check the branches with the current date. Branches marked with the most current date is the one that is present in Play Store.
Upgrading the application to Kotlin and matching the UI as of Zomato release in Dec, 2020
This is still a WIP version and hence on a separate branch.

**__Libraries used during development:__**

* Recycler View
* Card View
* Retrofit
* RxJava
* Glide
* Hilt
* Room
* Timber

**__Information__**
**__Asset Credits:__**

* Top 20 restaurants
This displays the list of 20 restaurants in the location in three categories. We can click on them to dislay their results.
* Restaurant Images
The images are not provided by the Zomato API for the basic version. For this reason , we are using sample images based on the first cuisine mentioned (this is being returned by the Zomato API). Also for the menu and photos, we are using the URL which is returned by the API. Hence to view the actual images, the user needs to visit the URLs provided in the details page.

* Search Feature
This perform the search feature based on the query provided by the user. It uses the approach to wait for the user to complete the query and then peform the Search Network API. This can be achieved by using the debounce method in conjunction with the SearchView query change listener. The query change listeners fires all the time, but the actual method of execution will only be called (which will return an observable) once the debounce timeout has been completed, uninterupted. This makes it more flowing with the user and removes the requirement for a search button (which would then require another click action).

* Favourite Restaurant
A restaurant can be marked/unmarked as a favourite. It will be displayed in a separate tab inside the application. Realm database has been used to perform the local storage functionality.

* Analytics
Using Firebase Analytics to log events like which screen is displayed to the user and the search terms used.
This project contains various assets which are owed by the respective owners.
Their details are provided as below

**__Libraries used during development:__**
* Icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Facebook, Google, Delivery, Catchup, Dinner, Cafe, Buffet

* Recycler View
* Card View
* Design Library
* NestedScrollView
* CollapsingToolbarLayout
* FragmentStatePageAdapter
* ViewPager
* CoordinatorLayout
* Fused Location Provider (Google Play services - Location)
* Retrofit
* RxJava
* Firebase Analytics
* Picasso
* Dagger 2
* Parceler
* Realm
* Timber
* <a href="https://www.freepik.com/vectors/location">Location vector created by stories - www.freepik.com</a>
Search Location

* Icons made by <a href="https://www.flaticon.com/authors/eucalyp" title="Eucalyp">Eucalyp</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Dining, Lunch

**__Screenshot__**
* Icons made by <a href="https://www.flaticon.com/authors/kiranshastry" title="Kiranshastry">Kiranshastry</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Nightlife

![Screenshot](/screenshot/ZB_Usage_12_02.gif?raw=true "Sample")
* Icons made by <a href="https://www.flaticon.com/authors/pixel-perfect" title="Pixel perfect">Pixel perfect</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Profile

> The GIF may or may not updated. This is just for reference. Download the actual code and try it.
* <a href='https://www.freepik.com/vectors/pattern'>Pattern vector created by freepik - www.freepik.com</a>
Default background image for cards

* Icons made by <a href="https://www.flaticon.com/authors/good-ware" title="Good Ware">Good Ware</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Takeout

* Icons made by <a href="https://www.flaticon.com/authors/pixelmeetup" title="Pixelmeetup">Pixelmeetup</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Breakfast

**__Changelog__**
* Icons made by <a href="https://www.flaticon.com/authors/surang" title="surang">surang</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
Club

08 - Ability to mark restaurants as favourite. UI fixes.
07 - Added Firebase Analytics (current screen and log event - search term)
06 - Added share feature with UI tweaks. Added powered by Zomato text to show API usage.
05 - Lint and defect fixes
04 - Addition of reviews
03 - Addition of search feature
02 - Addition of details screen
01 - Initial checkin
* <a href='https://www.freepik.com/vectors/food'>Food vector created by stories - www.freepik.com</a>
Image of chef in login screen

* https://lottiefiles.com/968-loading
Loading Lottie - 1

Binary file added app/.DS_Store
Binary file not shown.
Loading

0 comments on commit 26deea1

Please sign in to comment.