LiveHangout exists to connect people online to events and hangouts of various kinds in order to help meet others with similar interests, or just provide yourself with an entertaining time! The project was inspired by Eventbrite and built using Javascript, React.js and Redux for the front end and Python with Flask for the backend.
- When entering LiveHangout for the first time, you are met with a splash page featuring a short description of the site, as well as some featured hangouts!
- Once you sign in, or select the search button, you will be redirected to the home page, featuring some of the mnost popular upcoming hangouts, as well as the newest posted hangouts.
- You can submit a new hangout by clicking the "add" button in the top left of the navbar. This gives you a form to fill out the required info about the hangout you are creating.
- Once you submit a valid hangout, a small check will appear on the right side verifying it submitted correctly, and you will shortly be redirected back to the main page
- You can select your profile image in the top right of the nav bar as well to be taken to your profile, which features some basic info about you, as well as hangouts you've made, what you've rsvp'd, and what you've bookmarked.
-
Clone the project repository from https://github.com/Payneless/LiveHangout
-
Rename the folder to whatever you want.
-
Install dependencies
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-app
directory ORcd
into thereact-app
folder and runnpm install
to install node package manager dependencies.
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.txt
ALSO 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.
To start the server, run
flask run
from the root directory, then runnpm start
from thereact-app
directory. This will allow you to make requests to http://localhost:3000 using any client (browser and Postman). To stop the server from listening to requests, press CTRL + c for Windows/Linux or CMD + c for MacOS in the terminal that you started the server (wherever you >ran npm start).
The live link for this project is located here: live-hangouts.herokuapp.com