The Traveler Weather App Front-End Developer, Capstone project, Udacity Nanodegree
Udacity "This project requires you to build out a travel app that, at a minimum, obtains a desired trip location & date from the user, and displays weather and an image of the location using information obtained from external APIs. Given that this is the Capstone project, it's highly encouraged for you to go above and beyond, adding additional functionality and customization to truly stand out with a project you are proud to have at the top of your portfolio!"
- Setup the initial project structure. i.e. src, server, client, views, styles, js..etc.
- Get webpack set up to work with this project.
- Create an account with Geonames, and setup to pull in Country & Location data.
- Introduce a countdown from user's entered date of travel.
- Create an account with Weatherbit, and setup to pull in Weather & Forecast data by Location.
- Create an account with Pixabay, and setup to pull in images about the Location & Country.
- (bonus) Adding Users Creation & Authentecation to store data per user and keep the user data stored in the server for future retrieval. (using bcrypt + Cookies/SessionStorage/LocalStorage)
- (bonus) Integrate the REST Countries API to pull in data for the country being visited.
- (bonus) Allow the user to add a todo list and/or packing list for their trip.
- express
- webpack
- babel
- jest
- bcrypt
- dotenv
- nodemon
- node-fetch
- Geonames to pull location and country name from user input (i.e. city name)
- Weatherbit to pull in the weather and forecast data.
- Pixabay for pulling images.
- REST Countries API to pull in data for the country in query.
- JWT with Cookies vs browserStorage (Cookies are more secure, article of JWT)
- Regex to extract cookie value by parameter name
- How to Use Local Storage with JavaScript
- All About Cookies! options and usage
- JavaScript Cookies vs Local Storage vs Session
- Build Node.js User Authentication - Password Login (Hashing with bcrypt)
- Node.js Passport Login System Tutorial
- Errors in jest testing for async functions:github:bebel, stackoverflow
error >> "ReferenceError: regeneratorRuntime is not defined"
solution >> install regenerator-runtime, and import it to the async test scripts:
import "regenerator-runtime/runtime"
Author
Generated with the file-tree-generator vsCode Extension
📦WETALERT
┣ 📂src
┃ ┣ 📂client
┃ ┃ ┣ 📂js
┃ ┃ ┃ ┣ 📜formHandler.js
┃ ┃ ┃ ┣ 📜nameChecker.js
┃ ┃ ┃ ┗ 📜openWeatherMap.js
┃ ┃ ┣ 📂styles
┃ ┃ ┃ ┣ 📜base.scss
┃ ┃ ┃ ┣ 📜footer.scss
┃ ┃ ┃ ┣ 📜form.scss
┃ ┃ ┃ ┣ 📜header.scss
┃ ┃ ┃ ┗ 📜resets.scss
┃ ┃ ┣ 📂views
┃ ┃ ┃ ┗ 📜index.html
┃ ┃ ┗ 📜index.js
┃ ┗ 📂server
┃ ┃ ┣ 📜index.js
┃ ┃ ┣ 📜mockAPI.js
┃ ┃ ┗ 📜owmAPI.js
┣ 📂__test__
┃ ┣ 📜regenrator-runtime-imports.js
┃ ┗ 📜testFormHandler.spec.js
┣ 📜.babelrc
┣ 📜.env
┣ 📜.gitignore
┣ 📜LICENSE
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜Procfile
┣ 📜README.md
┣ 📜webpack.dev.js
┗ 📜webpack.prod.js