Walking around a - well a very known town, my home town - I realized I did not know everything

What it does

The web application asks the user to give the date he is visiting the city and for how long, to select a few categories of activities (Nature, Buildings, Entertainment, etc.), then to assign a score for each activities from the selected categories of activities (0 to 100). These scores are multiplied by ratings from Yelp to obtain a final score resulting in the ranking of the actual places corresponding to the activities. The preferences rankings are then optimized using whether data and google calendar so that if an outdoor activity should happen on a rainy day, the list of suggested activities would change to suggest inside activites on rainy days. Also, using Google calendar the app can see if the user is not busy during his vacations. For instance, Ph.D students going to conferences would have to attend the conferences and would not be able to visit during the duration they entered.A finalized customized/optimized activity list is returned to the web page .

How we built it

We used python (for collecting, analyzing data and give the output) and java script for the graphical user interface. In python we used many libraries including some that were developed to use APIs. We use the open weather map API and its corresponding library pyowm, and the google calendar API and its corresponding library. Communication between languages was established through exchange of json files.

Challenges we ran into

First off the google calendar API worked for a bit before not wanting to anymore... We had to comment the sections using it (we suspect a too big number of connections per unit of time (as the code is running non-stop))... However, in principle it should work.

Second of all using the facebook API was not convincing for our purpose even if initially it was a good idea : based on likes we would infer people interests... Only problem people interests on facebook does not come very close to what you would expect from them when visiting a city (liking your friend metal band does not give you much information on even if you like that type of music...).

Finally there are many features we would have liked to add but we were running out of time...

Accomplishments that we're proud of

Making python and javascript working together (using python capacities in data analysis and javascript skills in GUI) is something that we are proud of. Implementing all our four codes together (Tuan on the GUI, Julien on Python Pulp and powm, Antoine on Yelp API and the all synchronization of everybody's parts, Maxime on the Facebook API, browser history crawler, the google calendar API & the all debugging) was something that we are also very proud of. All in all we are very happy on how we worked together.

What we learned

Maxime : cannot count the many things he learned --> introduction to Java script and APIs, add-ons

Julien : Not that much in detail but much on how computer projects are developed and run

Tuan : Is a real master --> he developed the entire GUI by himself and made an awesome job @ it! He was also keeping the team on the important stuff about coding : working on the same standards...

Antoine : Another grand master --> he put everything together ! Without him : four different codes not talking to each other... Oh ! And by the way he also developed the code using the Yelp API

What's next for AVI : Application de Voyage Intelligent

So many things we hope.... We do believe in our idea and somebody will probably develop something like that soon...

More concretely :

Add constraints (activities duration & opening hours) e.g. with the help of Yelp API and activities' websites.

Add a feature that propose restaurants nearby each activity e.g. using Yelp API

Add optimized routes (according to an objectives chosen by the user (e.g. environmental impact, safety, cost, travel duration...) e.g. using the google map API.

Share this project: