Project #5 for the Udacity Frontend Web Developer nanodegree - FEND Capstone Travel App
A Travel Planning Application that takes in the city, country, start and end dates of your trip and returns the picture of the location, the weather forecast for each day of the trip, and does a countdown to your departure date.
It consumes infromation from the following APIs:
- Geonames - This API takes in the city and country and returns the location's latitude and longitude
- Weatherbit - This API takes in the latitude, longitude, the start-date and end-date and returns the weather information and corresponding icon if trip is within 16days
- Pixabay - This API returns a picture of the loction taking in the city and country
Click here to view the deployed app
Put in a valid input needed and click on the Add-trip button.
The following depencies are required by the app during developmment
- @babel/core
- @babel/preset-env
- babel-loader
- clean-webpack-plugin
- css-loader
- html-webpack-plugin
- jest
- mini-css-extract-plugin
- node-sass
- optimize-css-assets-webpack-plugin
- sass-loader
- style-loader
- terser-webpack-plugin
- url-loader
- webpack
- webpack-cli
- webpack-dev-server
- workbox-webpack-plugin
Ensure you have node installed on your local device
- Fork the repository to create a version on your account
- Clone the repository
//locally
git clone https://github.com/<Your Github Username>/le-voyageur.git
- Create a
.env
file in the project root and input your API key
GEONAMES_API_KEY=***...
WEATHERBIT_API_KEY=***...
PIXABAY_API_KEY=***...
- Install the node packages
npm install
- Inspect the
package.json
to see the available scripts- To run dev - Runs on
http://localhost:8080/
npm run build-dev
- To run prod - Runs on
http://localhost:8081/
npm run build npm start
- To run test
npm run test
- To run dev - Runs on
- Pull in an image for the country from Pixabay API when the entered location brings up no results (good for obscure localities).
- Allow user to add multiple destinations on the same trip.
- Pull in weather for additional locations.
- Allow the user to add hotel and/or flight data.
- Multiple places to stay? Multiple flights?
- Integrate the REST Countries API to pull in data for the country being visited.
- Use Local Storage to save the data so that when they close, then revisit the page, their information is still there.
- Allow user to Print their trip and/or export to PDF.
- Allow the user to add a todo list and/or packing list for their trip.
- Allow the user to add additional trips (this may take some heavy reworking, but is worth the challenge).
- Automatically sort additional trips by countdown.
- Move expired trips to bottom/have their style change so it’s clear it’s expired.