Contributors: Ce Pang, Honglin Chen, Xinwei Lu, Yulin Zeng, Zhihao Lin
EatWhat is a restaurant recommendation application based on Android platform.
A user can either use the app to search for a restaruant with filters or post a restaurant review.
Tech Stack:
Restaurant search module: Yelp API + Retrofit with OkHttp + Android SDK (Java)
Post review module: Firebase database + Android SDK (Java)
- A user can login to his or her account with email address and password
- A user can create an account with email address, username, and a user also can take a photo or choose a photo from gallery as avatar.
- After log in, the username abd avatar is shown in the drawer navigation header
- A user can manage his or her account by clicking "My Profile" in drawer naviagtion header
- A user can change the password
The search funtion is based on location (city)
- a user can use his or her current location or select a location on map by clicking the location icon on home page. Default is user's current location
- A user can search restaurant with selected category
- A user also can search a restaurant with the restaurant name
-
Click on any restaurant card will direct the user to the restaurant detail page, click on the map icon and phone icon will lead the app to external map application and phone dialing application
-
Click on the "Star" icon will let the user collect the restaurnt and a user can find the restaurant in "Collected Restaurant" (from drawer sidebar meun)
- A user can write a post by click the floating button on home page
- After clicking post, the user can see his or her post under POSTS tab. The user can also see other user's posts under this tab
- A user can manage his or her posts in My Posts page (from drawer sidebar meun)
- clicking on any review card will direct the user to post detail page
- clicking on the "heart" icon represents thge user like this post, and the user can see this post in "Liked Post" (from drawer sidebar meun)
- Under TODAY'S Tab, a user can shake the phone for Retaurant of the Day
- A card will pop out, and the user can click GO to see detail of the restaurant (restaurant detail page)
Non-relational database structure for post
Non-relational database structure for a user
For Restaurant search functionality, we used Yelp Fusion API https://www.yelp.com/developers/documentation/v3/get_started
- use session to achieve persistent login
- Implememt delete function for user posts