Ever have trouble planning a trip with your friends or family? TRVL will solve that problem by automating this process, while adapting to the unique desires, goals and circumstances of each traveller. TRVL is the future of travel planning. More travel, less stress! By simply logging in with your Google account, you gain access to a whole new experience of travel planning. View trip invites from friends, plan a trip based off your group's preferences. Our state of the art algorithm generates the best location choices for your group based off of everyone's input! While planning the trip, find the best prices on flights and hotels all from within the app. Set an itinerary and check weather forecast for each day of the trip. Use the Split Payments feature to share the cost of your travel expenses. And share photos from the trip! TRVL brings all these amazing features together in one app so our travellers can get the most out of their vacations. More TRVL, Less Stress.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
A step by step series of examples that tell you how to get a development env running
- Go the TRVL repository: thesis-travel-app.
- Fork the repo.
- Next, git clone your fork of the repo.
- Then, cd into the repo.
- Run the command npm install in the root directory to download dependencies defined in the package.json file.
- Be sure to add a .env file to your root directory that contains the following environmental variables: PORT, DB_NAME, DB_USER, DB_PASS, DB_HOST, COOKIE_KEY, API_KEY, TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER, HOTEL_API.
- Also, add a config.js file with the following variables: OAUTH_CLIENT_ID, CLIENT_SECRET, PORT, HOST, WEATHER_API, GEO_API, API_KEY, API_SECRET, GAS_API.
- Run the command npm run start to just start the server/index.js.
- Run the command npm run build to begin starting frontend.
- Run the command npm run dev to start development server.
- Run the command npm run seed to seed the database with destinations.
Setting up PostgreSQL Database
- Install PostgreSQL to your local machine
- Run postgres -V in your command line to make sure Postgres is installed and running
- To shell into Postgres run psql postgres
- To see what users are installed run _ \du _
- Create a user role CREATE ROLE username WITH LOGIN PASSWORD 'quoted password' [OPTIONS]
- Once you have your username and password set up, reference the .env file and fill out the DB_NAME, DB_USER, DB_PASS, and DB_HOST.
- Create a databases called test_db. CREATE DATABASE test_db
- Next, run psl [username] -h localhost -d trvl_db -f travel.sql
- Finally run node seed.js to seed the Destinations table in the database
How to deploy on a live system using AWS
- Create account on aws
- Launch an EC2 instance
- SSH into your instance
- Install Node.js
- Install Git and clone repository from GitHub
- Start the node.js app
- Keep App running using Pm2
- React - Web Framework
- Webpack - Module Bundle
- Babel - Javascript Compiler
- Express.js - Server Framework
- Node.js - JavaScript Runtime
- Sequelize - ORM
- AWS - Database Management System
- ESLint - Linter Tool
- Prettier - Opinionated Code Formatter
- Passport - Authentication Protocol
- AWS - Deployment Service
- Twilio -Programmable SMS Service
- Socket.io Real-Time Communication Library
- [Material-UI] (https://material-ui.com/) UI Design Library
Josh Nunez Garrett Jones Jessa Daggs Austin Brown
Thank you to the staff and our peers at Operation Spark for inspiring us daily.