This is the capstone project for Udacity, where I am required to build a Travel App that obtains a desired trip location & date from the user. That information will then display the weather and an image of the location using information obtained from external APIs. The APIs that I used are Geonames API, Weatherbit API and Pixabay API.
Features included in the App:
- Ability to add multiple trips
- Ability to delete a trip
- Each trip has a "To do" note taker
- User can generate a pdf file for each trip
- Retrieves weather data depending on the trip's length
- A relevant image will appear depending on the trip's location
- HTML
- Sass
- Javascript
- Babel
- Webpack
- NodeJS (npm & Express)
- Jest (development)
- Geonames API
- Weatherbit API
- Pixabay API
- dotenv Package
- UUID Package
- jsPDF Package
- html2canvas Package
- Workbox Webpack Plugin Package (Service Workers)
This project does not have the API Keys for Weatherbit API and Pixabay API. So if you want to run this project in your desktop, you will need to register for the API Keys and have them saved in the .env file as:
WEATHER_API_KEY=****************
PIXABAY_API_KEY=*****************
To run the project, you'll need to have NodeJS in your desktop. In the project's directory, in the terminal, you'll need to run:
npm install
and afterwards,
npm run build-prod
This is so that your project's folder will have a dist folder containing all the files bundled by webpack. The server also points to this folder, so running those commands is necessary.
To run the web application you can run the following command line in your terminal.
npm start
Then in your browser, go to localhost:8080 where your web app is at.
"The travel app when you first enter upon the site"
"The modal form, where users enter their trip destination"
"The card that displays the trip: Current Weather"
"The card that displays the trip: Forecast Weather"
"The to-do-list"
"Responsive Design: Mobile View"
"Responsive Design: Mobile View with Modal Form"