Table of Contents
Travel Bucket, a Wanderlog clone, is a travel planning website for users to customize their own trip based on destination and available dates. Users are also able to add, edit, and delete any places/events to visit during the day; able to add, delete any notes for the trip; and share the trip with other users. Make vacation planning a lot more useful and fun!
Key Features
- Create new users and have user login with authorization
- Post, edit, and delete trips and events whith the trip that login users own
- Share the trip with other users
- Post, and delete notes within the trip
- Users can signup and login to use Travel Bucket, and can login as a demo user to experience the website quickly.
- Once logged in, the user is directed to the main trip page, where logged-in users can view a list of trips the user owns based on time created.
- Logged in users can create a new trip. It can also be edited and deleted.
- Logged in user can click into any individual trip, to see all created events based on the iternary, notes for the entire trip, as well as other invited user.
- Same as creating a trip, logged in users can also create a new event, as well as to edit and delete.
- And to create and delete note.
- Users can invite other users into the trip.
- Users can click into user's profile page to view their information.
-
Clone this repository (only this branch)
git clone https://github.com/YinYang117/Travel-Bucket.git
-
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.
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.
-
Make sure you have the Microsoft Remote - Containers extension installed.
-
Make sure you have Docker installed on your computer.
-
Clone the repository (only this branch)
git clone https://github.com/YinYang117/Travel-Bucket.git
-
Open the repo in VS Code.
-
Click "Open in Container" when VS Code prompts to open container in the bottom right hand corner.
-
Be Patient! The initial install will take a LONG time, it's building a container that has postgres preconfigured and even installing all your project dependencies. (For both flask and react!)
Note: This will take much less time on future starts because everything will be cached.
-
Once everything is up, be sure to make a
.env
file based on.env.example
in both the root directory and the react-app directory before running your app.npm install
npm start
-
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.
Command | Purpose |
---|---|
pipenv shell |
Open your terminal in the virtual environment and be able to run flask commands without a prefix |
pipenv run |
Run a command from the context of the virtual environment without actually entering into it. You can use this as a prefix for flask commands |
flask db upgrade |
Check in with the database and run any needed migrations |
flask db downgrade |
Check in with the database and revert any needed migrations |
flask seed all |
Just a helpful syntax to run queries against the db to seed data. See the app/seeds folder for reference and more details |
heroku login -i |
Authenticate your heroku-cli using the command line. Drop the -i to authenticate via the browser |
heroku authorizations:create |
Once authenticated, use this to generate an Oauth token |
heroku run -a travel-bucket-app |
Run a command from within the deployed container on Heroku |
Huyen Nguyen - GitHub
Kicky Lau - GitHub
Ryan Schneider - GitHub
Suwanshree Acharya - GitHub
Project Repo Link: https://github.com/YinYang117/Travel-Bucket
Project Link: https://travel-bucket-app.herokuapp.com/