Skip to content

🍔 A full-stack web application for foodies who can't decide where to eat. (React, Node, Express, PostgreSQL)

Notifications You must be signed in to change notification settings

jiannicariaga/yeat

Repository files navigation

yeat Logo

A full-stack web application for foodies who can't decide where to eat.

Why I Built This

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.

Technologies Used

Live Demo

Try the application live at https://yeat.jiannicariaga.dev/.

Features

  • 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.

Stretch Features

  • Users can view multiple pages of search results.

Preview

preview-1 preview-2

Development

System Requirements

Getting Started

  1. Clone the repository.

    git clone https://github.com/jiannicariaga/yeat.git
    cd yeat
  2. Install all dependencies with NPM.

    npm install
  3. Create a copy of the .env.example file.

    cp .env.example .env
  4. In the .env file, replace changeMe with a random value (a random string generator is recommended).

    TOKEN_SECRET=changeMe
  5. In the .env file, replace changeMe with your Yelp Fusion API key and Google Maps API key.

    YELP_API_KEY=changeMe
    MAPS_API_KEY=changeMe
  6. Start the database server.

    sudo service postgresql start
  7. Create a new database.

    createdb yeat
  8. Import the schema.sql and data.sql files to the database.

    npm run db:import
  9. (Optional) Start pgweb. Once started, you can view the database by opening http://0.0.0.0:8081/ in your browser.

    pgweb --db=yeat
  10. Start the project. Once started, you can view the application by opening http://localhost:3000 in your browser.

    npm run dev