Mobile App - Restaurants Recommender

(in process)

Stack: React Native, Express, Node JS, MongoDB, Yelp API, RiveScript

A mobile app that recommends restaurants to users. It focused on finding similar restaurants to the ones selected by users based on certain criteria.


In-App Authentication

Used Express and Node JS for backend and set up two API routes: ./signup and ./signin. Used jsonwebtoken for authentication and Bcrypt for password-hashing. Users' hashed credentials are stored in MongoDB database with mongoose library.


Persistent Login

Stored the token in AsyncStorage. The app reads the token in AsyncStorage for persistent login.


Restaurant Search

Connected to Yelp API with Bearer Authentication and queried data with Axios.


Animated Map View

Included MapView.Marker to pinpoint restaurants’ latitude & longitude locations. Used interpolation from React Native Animation API to define the opacity range of location markers. Used ScrollView with Animated.event() to trace the current restaurant card, show its location in full opacity, and move the MapView to its location.


Express Backend API Setup

Used Jsonwebtoken to check if the user is logged in. Set up database schemas to post new objects to MongoDB databases. Used express to set up routes such as /signup, /signin, /reviews to receive requests from the front end.