Giter Club home page Giter Club logo

tag-and-find's Introduction

Tag & Find

Project built in JacobsHack 2018

Who knows better than people? Find what you are looking for thanks to the users reviews in just three steps

Requirements

  • Python 3.6+

Recommendations

Usage of virtualenv is recommended for package library / runtime isolation.

Usage

To run the server, please execute the following from the root directory:

  1. Setup virtual environment
python3 -m venv env
source env/bin/activate
  1. Install dependencies
pip3 install -r requirements.txt
  1. Install TextBlob dependencies
python -m textblob.download_corpora
  1. Run Startup server
python3 app.py

or via docker-compose

docker-compose up -d

Inspiration

We like Google Maps, but we think that sometimes is not as accurate as it could be. That's why we have been thinking about developing a web app to find places with more specific parameters. e.g. Sometimes we want to go to a restaurant not only for its food, but also for the atmosphere (and that's not something Google Maps can give us, for that you should see the reviews :c, ain't nobody got for that!)

What it does?

Our web app is used for finding places with special features you want to specify (maybe some clean toilets, a special restaurant with a astonishing atmosphere, a cozy bar for grabbing some beers with your friends...). All of this is based on the idea of finding that place you are looking for only in three steps:

  • First: You say where do you want the place to be searched (it can be your university, next to your home, on the city of the next hackathon you are attending...). Also it has the possibility to indicate your geolocalization.
  • Second: You indicate what you are looking for. You can select one of a variety of different things: bars, restaurants, museums, parks...
  • Third: You select which features do you want your place to have (it can be more than one!): clean, comfortable, quiet, cheap, luxurious...

How we built it

We focused in two different areas: the user interface and the natural language processing. Also, to get the information we needed we used the Here Geocoder API and the Google Places API.

  • User interface: Everything has been made with HTML/CSS (also Bootstrap) and Javascript. We wanted to ensure that everything was intuitive, responsive and (of course) beautiful. It can be seen in the photos how the interface is.
  • Natural Language Processing: We used the library called TextBlob based on the NLTK framework. Everything has been coded in python. The main idea of the algorithm is to get all the info of the places of the type selected nearer to the location (got with the Here API) used. Then, take their user reviews (we were about to do it also with the Here API, but we found that Google Places API had more results) and by Natural Language Processing analyze which of them accomplish the features selected.

Challenges we ran into

When we started hacking, we had a lot of ideas that hasn't been able to be made reality. For instance, at final we couldn't make it possible to make that the parameters of the places and features were written by the user instead of selecting it of a limited set. Also we couldn't be able to deploy our flask app in the Google Cloud server :c so that's why we finally deployed it on Heroku (we were more familiar with this cloud service)

Accomplishments that we're proud of

Nevertheless, we are really proud of the results we had. Everyone on the team has worked with technologies that never had experience of. We also are proud of being capable of working with a good team cooperation, parallelizing tasks and being efficient helping each other when was necessary. We also are happy to have worked with NLP and for having made our web responsive.

What we learned

As it is said above, we all have had the opportunity to work with technologies that we never had used before. The use of Natural Language Processing has been a challenge that has made us learn a lot of concepts we didn't know. Also, two members of the team have worked with languages they never coded with, Javascript and Python respectively. And in spite of haven't accomplish the deployment of the web in Google Cloud, the one who tried to do it has learned a lot about Google Cloud, Flask and servers.

What's next for Tag&Find

We would like to improve the searching of necessities and features, making it more customizable for the user to find more accurate places.

Images

License

MIT ยฉ Tag&Find

tag-and-find's People

Contributors

albertsuarez avatar deuveme avatar elena20ruiz avatar ferja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.