Skip to content

A MERN stack application that allows a user to create an account using Passport authentication. Before logging in, a user can perform a flight or hotel search, however, the magic comes when setting up an account so that they can save all of their trip information.

License

Notifications You must be signed in to change notification settings

joditivis/U-Travel

Repository files navigation

U-Travel

Planning a trip? Want to search for flight and hotel to get to your destination? Do all that and more in our U-Travel application. U-Travel also provides a one-stop place to organize all of your trip expenses and track how close you are to your goal. Never get caught overspending on a trip again and never leave anything at home with a customizable packing list at your disposal.

Access this site at: https://u-travel-dt.herokuapp.com/.

Table of Contents

About

This is a full-stack deployed website that allows the user to create an account using Passport authentication. Before logging in, a user can perform a flight or hotel search, however, the magic comes when setting up an account so that they can save all of their trip information.

Functionality

The user will start on the landing page. By hitting Start Planning, the user will be directed to create a new account.

Once logged in, they are immediately directed to their userpage. The userpage is directly tied to a trip. This is where the planning starts. A user can add an activity with the amount that it will cost. This is directly tied to a chart for a great visualization of where their money is being spent. They can also add to their packing list and check off items once they are packed.

More times than not, a trip will include a flight. Go to the flight search page where there is a robust set of options to search for flight inforamtion. As long as a user is logged in, they can save a flight itinary to view it on their user page. What about the hotel? No problem - the hotel search will also provide a great place to see what hotels are in the area. These can also be saved to your trip as well.

See your whole trip at a glance - expenses, flights, hotels, days until the trip starts, and the weather at your destination. Feel free to use the weather search bar to see the upcoming forecast in any city!

Technical Features

  • This application utlizes a MERN stack - MongoDB, Express, React, and Node.js.
  • The authentication encyrption is managed by Passport.js.
  • This application is deployed on Heroku.

Requirements

If you are running from the deployed Heroku site, then there are no requirements to use. You can access directly at https://u-travel-dt.herokuapp.com/.

If you would like to fork this application and run directly, then you will need to run: npm install in the local root folder. Note: you'll want to ensure that the command cd client && npm install runs as well as there is a package.json in both the root folder and the client React folder.

In order to run, you will need to prime your database:

  • Step One: Ensure you have mongodb installed on your local machine. Open an instance allowing you to add a database.

  • Step Two: Run use utravel. This will initialize an empty database that this code can use.

  • Step Three: You will need a Amadeus Navigator AMADEUS_CLIENT_ID and AMADEUS_CLIENT_SECRET. This can be obtained at https://developers.amadeus.com/.

  • Step Four: Create a file named .env, in the root folder, add the following to it:

 # Amadeus API keys

AMADEUS_CLIENT_ID= // enter your Amadeus Client_ID
AMADEUS_CLIENT_SECRET= // enter your Amadeus Client_Secret
  • Step Five: You will need a Weather Bit API Key. This can be obtained at https://www.weatherbit.io/api.

  • Step Four: Create a file named .env, in the client folder, add the following to it:

 # Weather API keys

REACT_APP_WEATHER_API_KEY=// enter your Weather API Key

Then run npm start in the command line in the root folder. If successful, the console will confirm the PORT that it is running. You will need to visit http://localhost:3000 to test the functionality. Note: the back-end server is set to run on http://localhost:3001. This application utilized nodemon to run two ports simulaneously.

Build Tools

Acknowledgements

  • Thanks to all of the authors of Node.js packages - they are invaluable.

License

About

A MERN stack application that allows a user to create an account using Passport authentication. Before logging in, a user can perform a flight or hotel search, however, the magic comes when setting up an account so that they can save all of their trip information.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published