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.
- Clone the repo and open in your code editor of choice
git clone https://github.com/fmsilva1996/tripwiser.git
- Install all required dependencies
npm install
- 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
- Seed your database with all of the available locations:
npm run seed
- Start the application on localhost:
npm run start
- Enjoy!
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!
- 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
Improvements are welcome 🙂
Fork the repo and do your thing. Push to your fork and submit a pull request.
Andrew Cooke - Github - LinkedIn - Portfolio
Ben Towler - Github - LinkedIn
Francisco Silva - Github - LinkedIn
Nils Wernecke - Github - LinkedIn
This project is licensed under the MIT License.