A full-stack web application for foodies who can't decide where to eat.
As a foodie and frequent user of Yelp, I can be incredibly indecisive when someone asks me where I want to eat. I wished Yelp had a feature that could answer the dreaded question for me—perhaps in the form a questionnaire or quiz to help narrow my options. I decided to take matters into my own hands and create an application that does exactly that (but cooler). Hence the birth of yEAT, where users can search eateries, add them to a roulette, and spin it.
- Yelp Fusion API
- Google Maps API
- React Bootstrap
- React Roulette Pro
- React.js
- Node.js
- Express.js
- PostgreSQL
- Babel
- Webpack
- JavaScript
- HTML5
- CSS3
- SQL
- Dokku
- Amazon EC2
Try the application live at https://yeat.jiannicariaga.dev/.
- Users can set their location.
- Users can search eateries.
- Users can view details of a single eatery.
- Users can add eateries to the roulette.
- Users can remove eateries from the roulette.
- Users can view the roulette.
- Users can spin the roulette.
- Users can add eateries to their favorites list.
- Users can remove eateries from the favorites list.
- Users can view their favorites list.
- Users can sign up.
- Users can sign in.
- Users can sign out.
- Users can view multiple pages of search results.
-
Clone the repository.
git clone https://github.com/jiannicariaga/yeat.git cd yeat
-
Install all dependencies with NPM.
npm install
-
Create a copy of the
.env.example
file.cp .env.example .env
-
In the
.env
file, replacechangeMe
with a random value (a random string generator is recommended).TOKEN_SECRET=changeMe
-
In the
.env
file, replacechangeMe
with your Yelp Fusion API key and Google Maps API key.YELP_API_KEY=changeMe MAPS_API_KEY=changeMe
-
Start the database server.
sudo service postgresql start
-
Create a new database.
createdb yeat
-
Import the
schema.sql
anddata.sql
files to the database.npm run db:import
-
(Optional) Start pgweb. Once started, you can view the database by opening http://0.0.0.0:8081/ in your browser.
pgweb --db=yeat
-
Start the project. Once started, you can view the application by opening http://localhost:3000 in your browser.
npm run dev