We’re proud to announce that we’ve completely redesigned OpenDota from the ground up. We’ve brought Material Design with an OpenDota flair. The new design better organizes and presents our data, loads much faster, and makes the data much easier to consume.
As part of this change, the OpenDota codebase is now split into several smaller repositories. We think this makes it much easier for new developers to get onboarded and be able to contribute. We’ve seen a huge increase in the number of developers recently!
- odota/core: The backend services (Node.js, Postgres, Cassandra, Redis). Queries the Steam API for data, parses replay files, and provides the OpenDota API for consumption. If you want to add some new data that isn’t already available, or build an endpoint to aggregate some data in new and interesting ways, this is the place to start.
- odota/ui: The frontend code (React, Redux, Webpack). You can build and run this in a matter of minutes. No databases involved, and there’s no need to preload any data to begin developing. If you want to improve how some existing data is displayed, this is the place for you!
- odota/mobile: An initiative by Proyoyo to use react-native to build mobile apps that work on both Android and iOS.
With this update, we’ve also built in the ability to translate OpenDota! We need your help bringing OpenDota to users who speak all different kinds of languages. If you’re interested, check out https://translate.opendota.com.
This effort to refresh the UI wouldn’t be possible without the volunteer developers who collectively contributed hundreds of hours of their time:
- howardchung (match pages, deployment)
- mike-robertson (architecture, player pages)
- blukai (UI overhaul, match tables, building map)
- bguzryanto (rankings, benchmarks, search)
- albertcui (sponsorship integration)
- dartharaknus (Docker, split match tables)
- recurza (Mobile nav drawer)
- TheCaptainDate (style improvements)
- andrkrn (login status component)
- pvskarthikeya (string fixes)
- gu3st (bugfixes)
- vamo89 (level on xp graph tooltip)
- roshanjossey (mobile text on homepage)
- aeosynth (item timings)
- nicholashh (favicon)
- dhpaquette (request form error message)
- Chris92de (W/L fix)
- pcollinsmusic (Heroes tab)
- a342191555 (Chinese translations)
If you have any comments, please open an issue on GitHub or let us know on Discord!