Skip to content
This repository has been archived by the owner on Aug 24, 2021. It is now read-only.
/ TriMamba Public archive

Collection of tools aimed to gather event information from different sources into a database

Notifications You must be signed in to change notification settings

trivago/TriMamba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Collection of tools aimed to gather event information from different sources into a database

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published