Big Island Adventures is a web application built using Python, Flask, React, React-Bootstrap, React Router DOM, HTML, CSS, Javascript, and PostgreSQL. It uses the AccuWeather API to provide users with tour suggestions based on the weather condition of the selected location in Big Island Hawaii. The app features CRUD operations and registration, login, and logout functionalities for users. Users can book tours and view them in their dashboard. The app's highlight is its ability to provide personalized tour suggestions based on the weather condition of the user's selected location. The app is hosted on Heroku.
Python, Flask, React, React-Bootstrap, React Router DOM, HTML, CSS, Javascript, and PostgreSQL, Pytest and Jest testing frameworks.
Feel free to follow these steps on one machine in this order exactly.
Click here to expand front-end layer setup steps.
Clone the forked repo. Do not clone this inside of another project folder, because that will cause issues.
Create a new React app within this project folder. You must perform this within this front-end project folder.
$ npx create-react-app .
Install axios:
$ yarn add axios
Create a file named .env
.
The front-end layer needs to send API requests to the back-end layer. In order to handle this, the front-end layer repo must include a .env
file with this line:
REACT_APP_BACKEND_URL=http://localhost:5000
Note that this REACT_APP_BACKEND_URL
must include http://
.
Use this environment variable to send your API requests. You can read it by using the expression process.env.REACT_APP_BACKEND_URL
. For example, we may use it like this in any component:
axios.get(`${process.env.REACT_APP_BACKEND_URL}/boards`, {
// ...
This will make Heroku deployment easier.
Commit and push your files to your repo, especially including the package.json
file!