Smartmove is a proof-of-concept for an app that helps prospective movers find neighborhoods that best fit their cultural lifestyle. We inferred the culture of a neighborhood from the attributes of its businesses sourced from Yelp, along with housing prices from Zillow and demographic information from the US Census. Users can filter their selections based off all those factors, along with geography (via coordinates or a map GUI), and can see visualizations of relevant statistics for any resulting neighborhoods.
For more information, including the Entity-Relationship Diagram of the database as well as pre and post optimization timings, please refer to the report pdf.
To run the app locally, clone this project into a local directory. After you have cloned the repo, make sure to install the dependencies with yarn install in both the server
and client folders; to do this, cd into the smartmove/server folder and type yarn install and then cd into the smartmove/client folder and type yarn install (NOTE: if
you don't have yarn installed, first type npm install --global yarn if you're on Windows or brew install yarn if you're on Mac). Note that the yarn.lock file maintains a
version set of all the node dependencies to ensure you are using the same modules. This project includes a number of dependencies, including the following (these should all be
installed automatically if you run yarn install in the client and server folders):
Client:
- @material-ui
- chart.js
- deck.gl
- mapbox-gl
- react-router
Server:
- body-parser
- express
- mysql
- cors
- nodemon
To run the application, cd into the smartmove/server folder and type yarn start to run the server side. Then cd into the smartmove/client folder and type yarn start
to open the application on a local browser.
This is a React application with styling from Material-UI as well as some custom CSS. The "Search" page uses deck.gl and the Mapbox API to render the map.