|
1 |
| -# GatorKnuckle |
| 1 | +# Inspiration |
| 2 | + |
| 3 | +The motivation for us was to develop something that could be accessible easily by anyone and can plan and assist in the best possible way to spend a few hours of one's time. When it comes to something that can be easily accessible to anyone the first thing that came across our mind was a personal assistant or a chatbot. |
| 4 | + |
| 5 | +# What & How. |
| 6 | + |
| 7 | +## What it does |
| 8 | +This FB messenger chatbot interacts with the user whenever it is prompted to by the user and asks for the user for his current location. Based on this it gives a suggestion of 10 possible places to visit based on the ratings of the places. To add a personal touch the bot uses the information of the user's friends who visited and liked these places in order provide a concise list of places matching the user's tastes and interests. These could restaurants or sight-seeing places, etc. It shows the places and the user can select what to be on the list and what not and based on this final list it generates a google map showing the optimal route and order in which the places need to be visited enhancing the user's experience. |
| 9 | + |
| 10 | +## How we built it |
| 11 | +We used various APIs made available by Facebook and Google. We built the bot using Java, Javascript, JSON and RESTful APIs, viz., google-maps-api, google-places-api, google-directions-api and facebook-graph-api. |
| 12 | + |
| 13 | +### Challenges we ran into |
| 14 | +The main challenge was to make the interaction with bot friendly and enhance the user experience with images and human-like interaction. Other challenges were to figure out what APIs to use, how to use them, hosting it on AWS and integrating all these things with the bot. |
| 15 | + |
| 16 | +### Accomplishments that we're proud of |
| 17 | +The fact that realizing this idea and having working prototype is something we take pride in. Other personal accomplishments include learning to use APIs available out there to build something useful and completing the task with a great team spirit. |
| 18 | + |
| 19 | +### What we learned |
| 20 | +Using the various APIs, learning their functionality and working by reading the documentations and integrating them with already known technologies like Java, JSON and Javascript. |
| 21 | + |
| 22 | +### What's next for TraVelocity |
| 23 | +The bot is still just a prototype and as of now it can deal with only one type of input data like restaurants or tourist places, etc. We would like to expand its capabilities so that it can take various types of input types and maybe plan a whole vacation for the user. |
| 24 | + |
| 25 | +## Citations |
| 26 | + |
| 27 | +Some of the code snippets were taken from [Java-FbChatBot](https://github.com/thekosmix/Java-FbChatBot). Thanks [Siddharth Kumar](https://github.com/thekosmix) |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +# API GUIDE |
| 32 | + |
| 33 | +We have used APIs provided by Google for location services. We have used Facebook APIs for interactive bot chatting. |
| 34 | + |
| 35 | +## Google APIs |
| 36 | + |
| 37 | +Below APIs are used. |
| 38 | + |
| 39 | +### [Radar Search API](https://developers.google.com/places/web-service/search#RadarSearchRequests) |
| 40 | + |
| 41 | +The Google Places API Radar Search Service allows you to search for up to 200 places at once, but with less detail than is typically returned from a Text Search or Nearby Search request. With Radar Search, you can create applications that help users identify specific areas of interest within a geographic area. |
| 42 | + |
| 43 | +### [Place Details API](https://developers.google.com/places/web-service/details) |
| 44 | + |
| 45 | +After the place id is fetched, this API is used to get detailed information about the place. A Place Details request returns more comprehensive information about the indicated place such as its complete address, phone number, user rating and reviews. |
| 46 | + |
| 47 | +### [Travelling Salesman Optimization](https://developers.google.com/optimization/routing/tsp) |
| 48 | + |
| 49 | +To find the best route connection the all finalized locations, this API is used. |
| 50 | + |
| 51 | +### [Maps API] |
| 52 | + |
| 53 | +This is simply used to plot all the latitudes and longitudes on Google Maps and show the visualization to the user. |
| 54 | + |
| 55 | +## Facebook APIs |
| 56 | + |
| 57 | +### [Quick Reply](https://developers.facebook.com/docs/messenger-platform/send-api-reference/quick-replies) |
| 58 | + |
| 59 | +This is used initially to fetch the location of the user. |
| 60 | + |
| 61 | +### [Sender Actions](https://developers.facebook.com/docs/messenger-platform/send-api-reference/sender-actions) |
| 62 | + |
| 63 | +This is used to set status such as Read, Typing etc.. inside Facebook Messenger. |
| 64 | + |
| 65 | +### [Send API - Generic Template](https://developers.facebook.com/docs/messenger-platform/send-api-reference/generic-template) |
| 66 | + |
| 67 | +To show detailed info of each place. |
| 68 | + |
| 69 | +### [Send API - List Template](https://developers.facebook.com/docs/messenger-platform/send-api-reference/list-template) |
| 70 | + |
| 71 | +To show summary view of selected places. |
0 commit comments