Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 2.9 KB

README.md

File metadata and controls

108 lines (74 loc) · 2.9 KB

TripWiser (Server)

TripWiser is a Progressive Web App that assists users in planning their next multi-stop adventure by dynamically finding the best flight, as well as suggesting alternatives routes when no flights are available between locations.

Screenshots

Getting the Server Started

  1. Clone the repo and open in your code editor of choice
git clone https://github.com/fmsilva1996/tripwiser.git
  1. Install all required dependencies
npm install
  1. In the root, create a .env file with the following variables:
PORT=YOUR_PORT_HERE
APOLLO_INTROSPECTION=true
APOLLO_PLAYGROUND=true
DB_URI=YOUR_MONGODB_URI_HERE
SALTROUND=15
SECRETKEY=YOUR_SECRET_KEY_HERE
MAILGUN_API_KEY=YOUR_MAILGUN_API_KEY_HERE
MAILGUN_DOMAIN=YOUR_MAILGUN_DOMAIN_HERE
TWILIO_SID=YOUR_TWILIO_SID_HERE
TWILIO_TOKEN=YOUR_TWILIO_TOKEN_HERE
TWILIO_PHONENUMBER=YOUR_TWILIO_PHONENUMBER_HERE
  1. Seed your database with all of the available locations:
npm run seed
  1. Start the application on localhost:
npm run start
  1. Enjoy!

Changing the Code Base

If you change the code base, make sure to run the typescript compiler before restarting the server:

tsc --watch // If you have typescript installed globally
or 
npx tsc --watch 

If you change the graphQL type definitions, make sure to run the GraphQL Code Generator to automatically generate matching typescript interfaces:

npm run generate

Please Note: The server must be running for this command to work!

Built With

Observations

Room For Improvement

  • Extensive testing (>70% Coverage) with Jest and Jasmine
  • Improve the functionality and efficiency of the alternative routes algorithm
  • Improve handling of edge cases to avoid crashes
  • Fix minor CSS glitches
  • Complete responsiveness with desktop

Contributing

Improvements are welcome 🙂

Fork the repo and do your thing. Push to your fork and submit a pull request.

Authors

Andrew Cooke - Github - LinkedIn - Portfolio

Ben Towler - Github - LinkedIn

Francisco Silva - Github - LinkedIn

Nils Wernecke - Github - LinkedIn

License

This project is licensed under the MIT License.