The purpose of this web application is to provide users with a composite score for the top restaurants in the area, with the user providing their zip code and price range desired (optional).
Service Url: http://www.guiscore.online/
- OS: Ubuntu 14.04 LTS
- frontend-language: Reactjs v16.0
- backend-language: Python 3.4.3
- web server: nginx/1.4.6
- application server: Flask v0.12.2
- web server gateway: gunicorn (version 19.7.1)
- database: mongod v3.4.9
- module_bunlder: webpack v3.8.1
- react_compiler: babel v1.4.0
Summary of what repository contains:
| Item | Decription |
|---|---|
| README.md | Readme file |
| package.json | contains requirements and configuration for Reactjs v16 frontend |
| .babelrc | contains configuration for Babel |
| web_flask | contain flask application to run mongodb database |
| src | contains React scripts for for front-end |
| dist | contains static directory, bundle.js and index.html |
| backend | contains backend modules in Python 3.4 |
| install_scripts | contains script to install all dependencies and packages |
To setup the proper environment to deploy this application, run the following scripts:
search.py - contains all routes for web application:
/search/<zip_code>-> returns all records with the provied zip code/search/<zip_code>/<price>-> returns all records with the provide price range under the provided zip code
scripts.js - Reactjs code that pulls from RESTful API created by Flask and displays the content dynamtically.
Static Directory:
- CSS directory with stylesheets
- SCSS directory with scss stylesheets
- img directory with all images
- Js directory with bootstrap css functionality
- Vendor directory with bootstrap style dependencies
Other Files:
index/html- HTML markup filebundle.js- script file that contains the bundle created with webpack
database.py- Functionn that takes in what was returned fromnew_yelp.pyand creates a databasefoursquare_remove_trucks.py- Function that calls the FourSquare Api and returns a list of restaurants to pass tomatch_list.py(currently does not support food trucks with no location)match_list.py- Function that takes in both lists from FourSquare and Zomato to find a match, returns a list to pass tonew_yelp.pynew_yelp.py- Function that takes in the matched list, calls the yelp api to create a new composite scoreprice_coord_passer.py- Function that takes in the arguments passed by the user (zip code and price) to pass to FourSquare APIquery_listing.py- Function that queries the database based on the user's inputs: Either just a zip code or if they included pricezomato_name_addr.py- Function that calls the Zomato API and returns a list of restaurants to pass tomatch_list.pyzomato_tips.py- Function that calls the Zomato API and grabs the tips provided in regards to the zip code
install_packages.sh- script to install all packages necessary
To use the script, run it like so
./install_packages.sh
To be added
This project is for educational purposes only
User Authentication
There are no known bugs at the time.
- Kimberly Wong, kjowong | @kjowong | Email
- Spencer Cheng, spencerhcheng | @spencerhcheng | Email

