Open Bar is a collaboratively developed clone of Open Table focused on the niche of reserving bar seats. Users are able to create a bar, write reviews, search for bars, and make reservations for a party size of their choosing. Open Bar was built using a Flask / Postgres / SQLAlchemy backend along with a React/Redux frontend. Mapping functionality was incorporated using the Google Maps API.
More information can be found on this project at it's Wiki
Reserve Seats At Your Favorite Bar
Explore the docs »
A full stack application that draws inspiration from OpenTable.com
Live Link For This Project Can Be Found Here
Python
AWS (Amazon Web Services)
SQLAlchemy
Javascript
Flask
To get a local copy up and running follow these simple steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
-
Clone the repo
git clone https://github.com/jpremo/open_bar
-
Install NPM packages in /reactapp folder
npm install
-
Install Pipenv Dependencies in root folder
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt -
Create a .env file based on the example with proper settings for your development environment
-
Setup your PostgreSQL user, password and database and make sure it matches your .env file
-
Get into your pipenv, migrate your database, seed your database, and run your flask app
pipenv shell
flask db upgrade
flask seed all
flask run
-
To run the React App in development, checkout the README inside the
react-appdirectory.
IMPORTANT! If you add any python dependencies to your pipfiles, you'll need to regenerate your requirements.txt before deployment. You can do this by running:
pipenv lock -r > requirements.txtALSO IMPORTANT! psycopg2-binary MUST remain a dev dependency because you can't install it on apline-linux. There is a layer in the Dockerfile that will install psycopg2 (not binary) for us.
Distributed under the MIT License. See LICENSE for more information.
Authors: Nick Menon, Jacob Premo, Chris Read, Erick Bravo
Project Link: GitHub Project Link
