Design Rationale: Design Decisions

  • Nearby Restaurant API: choosing between Google, Yelp, and Bing required considering factors such as features, cost, reliability, and ease of use. Google’s API first came to mind but we quickly dismissed the idea because of the cost factor. Yelp’s API, on the other hand, is free but allows a limited number of API calls per day. We settled on Bing’s API because it provided us with everything we needed at no cost. Accessing the Bing API also had the least amount of security issues, Yelp required us to use CORS authentication.
  • Organization: conflicts with our organization of restaurants and menu items – due to time limitations, we chose a faster way of storing this data in the form of a JSON file and manually inputting the data instead of automatically populating it. There was no consistent API that had restaurant menus that wasn’t also free, therefore manually gathering menu data was our last option.
  • Cloud Storage: we use Firebase realtime database to store the state of users in our database. This option was not the fastest, however, it’s the cheapest when scaling across many users.