/FindTable

FindTable is based on OpenTable, where users can create a restaurant, make a reservation at an existing restaurant, post a rating and review, as well as add restaurants to their favorite list.

Primary LanguagePython

  FindTable


FindTable: Table of Contents


Link to Live Site

FindTable Live Site


Description

FindTable is based on OpenTable specifically centered on the New York City metropolitan area. This will include the five boroughs of Manhattan, Brooklyn, Queens, The Bronx, and Staten Island. Users will be able to add a restaurant (minus the verification process), see all available restaurants, and update and delete the listing if the logged-in user is the owner of the listing. Users will also be able to make new reservations, or see, edit and delete existing reservations. Users may also leave a rating and review on an existing restaurant and add a restaurant to their favorites list.


Getting Started

  1. Clone this repository

    git clone git@github.com:willkee/FindTable.git
  2. Install dependencies

    pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  3. Create a .env file based on the .env.example file with credentials of your choice. You may need to set up Google Maps API credentials here to obtain an API key.

  4. Setup your PostgreSQL user, password and database to match your chosen credentials in the .env file.

  5. Enter your shell environment, upgrade and seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  6. To run the React App, go inside the react-app directory, npm install and npm start. This should open your browser automatically but if not, you may navigate to localhost:3000 to access the application.



Technologies


                       


Features

  • The home page displays a list of all of the restaurants on the platform
  • Users can add new restaurants
  • Users can see existing restaurants, and edit/delete restaurants that they own
  • Users can post reviews (with a rating) to an existing restaurant (also read, edit and delete)
  • Users can add (or remove) restaurants to/from their list of favorites
  • Users can make, read, edit or delete a reservation for an existing restaurant
  • Unauthenticated users can view all restaurants and reviews but may not add a new review or restaurant

Wireframes


Screenshots