Giter Club home page Giter Club logo

robintrack's Introduction

Robintrack

https://robintrack.net/

Robintrack is a tool for viewing data about the popularity of various stocks on the Robinhood brokerage. It allows users to view information about which are the most (and least) popular stocks held by its users and view trends over time. When combined with price history and other forms of data, this can be a useful tool for analyzing market sentiment.

Components

Scraper

The scraper periodically scrapes the Robinhood API to pull popularity and price data for all of the stocks that it offers. A server/worker model is used, with RabbitMQ being used a work queue. Once scraped, the data is stored in MongoDB.

Backend

The backend is a Rails application that mainly serves as a shim to the MongoDB database. It serves the API used by the frontend.

Frontend

The frontend is a single-page React application that provides users with access to the site's data via data tables and visualizations.

Installation

You'll need a MongoDB instance running and a RabbitMQ instance for the scraper. Configuration for the backend is handled via environment variables; the MONGO_HOST and MONGO_PORT variables are read at runtime. The scraper takes the same environment variables for MongoDB and everything else via command line arguments. Use the --help flag for both the master and worker scripts to view available config options.

There also must be a Redis instance accessible to the instance with an address defined in the REDIS_HOST environment variable. This is used for caching API requests that do not change between runes of the scraper.

Docker

There is a Dockerfile provided for the backend. To use it, just run docker build -t robinhood-backend and then docker run -it --net host -p 4000:4000 -e SECRET_KEY_BASE=some_secret_key -e MONGO_HOST=example.com -e MONGO_PORT=27017 robinhood-backend. (--net host is only necessary if you have MongoDB or RabbitMQ running locally, and it doesn't work on Mac).

robintrack's People

Contributors

ameobea avatar dalexj avatar dependabot[bot] avatar michaelgathara 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.