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.py
and 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.py
new_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.py
zomato_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