Skip to content
React web interface for the OpenDota platform
JavaScript HTML
Branch: master
Clone or download
albertcui Merge pull request #2291 from odota/sponsorupdates
remove dotacoach, update rivalry
Latest commit 46ab00e Nov 17, 2019


Help Contribute to Open Source

OpenDota Web UI: A web interface for viewing Dota 2 data. This utilizes the OpenDota API, which is also an open source project.


  • Clone the repo using git clone --recurse-submodules git://
    • If you already have a copy of the repo, run git submodule init && git submodule update to fetch shared components

With Docker

$ docker-compose up
  • Visit port 3000 on your development machine.

Without Docker

  • Install Node.js (6.0.0 or greater) (on Ubuntu, curl -sL | sudo -E bash - && sudo apt-get install -y nodejs)
  • npm install
  • npm start
  • Visit port 3000 on your development machine.


  • Make some changes.
  • npm run lint to check your code for linting errors.
  • npm test to check all app routes for uncaught JavaScript errors.
  • Submit a pull request. Wait for review and merge.
  • Congratulations! You're a contributor.


  • You can set the following environment variables:
    • PORT: Changes the port that the development server runs on
    • REACT_APP_API_HOST: Changes the API that the UI requests data from (default

Tech Stack

  • View: React
  • State Management: Redux
  • CSS: styled-components


  • If you're interested in contributing regularly, let us know and we'll add you to the organization.
  • The master branch is automatically deployed to the stage environment.
  • We'll periodically ship releases to production:


  • You don't have to set up the entire stack (databases, etc.), or worry about getting starter data, since the UI points to the production API.
  • Use the configuration to point to your own API (if you are working on a new feature and want to start building the UI before it's deployed to production).
  • Discord:
    • Strongly recommended for active developers! We move fast and it's helpful to be up to speed with everything that's happening.



BrowserStack have been kind enough to provide us with a free account for Live and Automate. We will be using Automate in the future to run automatic end-to-end testing.

BrowserStack is a cloud-based cross-browser testing tool that enables developers to test their websites across various browsers on different operating systems and mobile devices, without requiring users to install virtual machines, devices or emulators.

You can’t perform that action at this time.