Giter VIP home page Giter VIP logo

trimamba's Introduction

TriMamba

TriMamba is a collection of tools aimed to gather event information from different sources into a database.

This project was part of the Trivago Tech Camp 2019.

Contents

What is TriMamba

TriMamba was a short project in the scope of the 2019th TechCamp by Trivago. It was a two weeks project where students tried to build a small product prototype that could be used in an global application.

Participants

Usage

Requirements

TriMamba uses the Elastick Stack to store and visualize data. Both elasticsearch and Kibana need to be setup in advance. For our purposes we dockerized both and ran them linked besides the crawlers.

Before pushing data to the database, make sure to create an index first using the mapping in common/mappings.json. Note the chosen index name for later usage.

eventbrite-mamba

NOTE: Unfortunately on December 12th 2019 the Eventbrite search API has been discontinued, making eventbrite-mamba not functional anymore :( To learn more, check the Eventbrite API changelog. Code and Readme will be kept for archival purposes.

  • Install using npm install
    • Create a .env file in the node application's root directory and set the environment variables for
      • ELASTIC_URI: elasticsearch database url + index name (https://example.com/events)
      • TOKEN_EVENTBRITE: Eventbrite API secret
    • local
      • run using npm start
    • docker
      • Build the Dockerfile with docker build --tag eventbrite-mamba .
      • Run the image with docker run --env-file .env eventbrite-mamba

Chrome extension

The extension was running on a pivate development environment. In order to use it, setup elasticsearch as described above and add event data with one of the crawlers or manually. Also be sure to replace the server URL in contentScript.js.

The current extension is a very early prototype. To avoid Chrome's cross-origin blocking you need to start Chrome/Chromium with these command line arguments: --disable-web-security --user-data-dir

To add the chrome extension, go to chrome://extensions/ and click Load unpacked in the top-left corner. Choose the manifest.json file of the extension and confirm. Now navigate to https://trivago.com and search for a city. For now, geocoding is not supported. The extension simply uses the city name from the webpages title.

The results will be shown above the search results of trivago.

Video demonstration of the chrome extension

trimamba's People

Stargazers

 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.