Code Monkey home page Code Monkey logo

singlestep's Introduction

SingleStep - AI Powered Travel Planner

๐Ÿ‘ฅ Group Members (Group #20)

This project was developed as part of the SE2: Software Design and Architecture - CS 446, CS 646, ECE 452 course offered at the University of Waterloo. This is not an individual project, but rather a group effort. Each member has contributed to various aspects of the project development.

Name User ID Student Number
Arjun Mehta a47mehta 20839709
Justin Lu j352lu 20829900
Yichun Shen y275shen 20776079
Chris Tan c46tan 20826300
Vincent Thao Wong vt2wong 20791088
Andy Yu z274yu 20835121

๐Ÿ“ Overview

SingleStep is an AI powered trip-planning app that leverages OPEN AI's GPT3.5-Turbo model to craft personalized day-by-day trip itineraries. It also allows users to seamlessly search for flights, hotels, and nearby tourist attractions.

๐Ÿ“š Libraries Used

  • Glide - Used for loading and caching images for destinations, hotels etc.
  • Retrofit - Used for making API GET requests to fetch hotels and itinerary response
  • RoomDB - Used for storing saved trip itineraries for offline viewing
  • Amadeus Android SDK - Used to fetch airports, flights and local tourist attractions
  • Google Places SDK - Used to fetch city data and autocomplete city names
  • Facebook Shimmer - Used for loading animations throughout the application
  • Jsoup - Used to parse HTML description for tourist attractions into text

๐Ÿ›ฐ๏ธ APIs Used

  • Amadeus API - Used the following endpoints for multiple features:

    • shopping/activities - Used to fetch local tourist attractions
    • shopping/flightOffersSearch - Used to fetch flights for given input trip parameters
    • referenceData/locations/airports - Used to fetch airport IATA codes for given set of coordinates
  • Booking.COM Scraper API - Used the stays/search-by-geo endpoint to fetch hotels for given input trip parameters

  • Google Places API - Used for autocompleting source and destination city name on the Search page

  • OpenAI API GPT3.5 Model - Used for generating day-by-day intinerary for given input trip parameters, selected hotel and flights

๐Ÿƒ How To Run

To run the backend server, simply attach your OPEN AI API Key in the backend/prompt/inference.py file and run the following command:

python3 .\backend\app.py

Then, ensure that your API keys for Google Places API, Amadeus API, and Booking.com API are configured correctly inside the app/res/values/strings.xml file.

<string name="places_api_key">YOUR_API_KEY_HERE</string>
<string name="amadeus_api_key">YOUR_API_KEY_HERE</string>
<string name="amadeus_api_secret">YOUR_API_SECRET_HERE</string>
<string name="booking_api_key">YOUR_API_KEY_HERE</string>
<string name="booking_api_host">booking-com18.p.rapidapi.com</string>

singlestep's People

Contributors

arjunmehtaa avatar diqiuandy avatar justin-lu054 avatar rustymango avatar t-chris avatar yichunshen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.