All Projects → odota → Core

odota / Core

Licence: mit
Open source Dota 2 data platform

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Core

Web
React web interface for the OpenDota platform
Stars: ✭ 889 (-29.78%)
Mutual labels:  hacktoberfest, data, dota
Godo
DigitalOcean Go API client
Stars: ✭ 1,097 (-13.35%)
Mutual labels:  api, hacktoberfest
Rtimes
R wrapper for NYTimes API for government data - ABANDONED
Stars: ✭ 55 (-95.66%)
Mutual labels:  api, data
Falcon
The no-nonsense REST API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.
Stars: ✭ 8,654 (+583.57%)
Mutual labels:  api, hacktoberfest
Geeksforgeeks Dsa 2
This repository contains all the assignments and practice questions solved during the Data Structures and Algorithms course in C++ taught by the Geeks For Geeks team.
Stars: ✭ 53 (-95.81%)
Mutual labels:  hacktoberfest, data
Json Api Dart
JSON:API client for Dart/Flutter
Stars: ✭ 53 (-95.81%)
Mutual labels:  api, hacktoberfest
Fredr
An R client for the Federal Reserve Economic Data (FRED) API
Stars: ✭ 61 (-95.18%)
Mutual labels:  api, data
Axios Module
Secure and easy axios integration with Nuxt.js
Stars: ✭ 998 (-21.17%)
Mutual labels:  api, hacktoberfest
Wise Old Man
The Open Source Old School Runescape progress tracker.
Stars: ✭ 68 (-94.63%)
Mutual labels:  api, hacktoberfest
Covid19
JSON time-series of coronavirus cases (confirmed, deaths and recovered) per country - updated daily
Stars: ✭ 1,177 (-7.03%)
Mutual labels:  api, data
Church Calendar Api
API providing Roman Catholic church calendar data for your apps
Stars: ✭ 72 (-94.31%)
Mutual labels:  api, hacktoberfest
Js Api Client
Typeform API js client
Stars: ✭ 51 (-95.97%)
Mutual labels:  api, hacktoberfest
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-96.13%)
Mutual labels:  api, data
Githubapi
Swift implementation of Github REST API v3
Stars: ✭ 55 (-95.66%)
Mutual labels:  api, hacktoberfest
Spongeapi
A Minecraft plugin API
Stars: ✭ 1,043 (-17.61%)
Mutual labels:  api, hacktoberfest
Openapi Generator
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
Stars: ✭ 10,634 (+739.97%)
Mutual labels:  api, hacktoberfest
Hydrogen
🎈 Hydrogen. Voted (by me) the world's lightest static-site generator built with TypeScript ❤ It uses 🔥 lit-html inspired templating for super duper performant template generation.
Stars: ✭ 80 (-93.68%)
Mutual labels:  api, data
Tiktok Api
The Unofficial TikTok API Wrapper In Python
Stars: ✭ 940 (-25.75%)
Mutual labels:  api, hacktoberfest
Dataframes.jl
In-memory tabular data in Julia
Stars: ✭ 951 (-24.88%)
Mutual labels:  hacktoberfest, data
Ratp Api Rest
This project turnkey is distributed as a middleware to expose RATP realtime data as REST resources
Stars: ✭ 68 (-94.63%)
Mutual labels:  api, hacktoberfest

opendota-core

Help Contribute to Open Source

Overview

  • This project provides the OpenDota API for consumption.
  • This API powers the OpenDota UI, which is also an open source project.
  • Raw data comes from the WebAPI provided by Valve and fully automated parsing of match replays (.dem files).
  • A public deployment of this code is maintained by The OpenDota Project.

Tech Stack

  • Microservices: Node.js
  • Databases: PostgreSQL/Redis/Cassandra
  • Parser: Java (powered by clarity)

Quickstart (Docker)

  • Install Docker: curl -sSL https://get.docker.com/ | sh. If you are on Windows, make sure you shared the working drive with Docker.
  • Install Docker Compose: curl -L "https://github.com/docker/compose/releases/download/1.17.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose. If you are on Windows, docker-compose comes with the msi package.
  • Create .env file with required config values in KEY=VALUE format (see config.js for a full listing of options) cp .env_example .env
    • STEAM_API_KEY You need this in order to access the Steam Web API, which is used to fetch basic match data, player profile data, and cosmetic item data. You can use your main account to obtain the API key; it does not have to match the account used for the STEAM_USER and STEAM_PASS options. You can request an API key here: https://steamcommunity.com/dev/apikey
    • STEAM_USER, STEAM_PASS A Steam account is required to fetch replay salts. It is recommended to use a new account for this purpose (you won't be able to use the account on two different hosts at the same time, and the account must not have Steam Guard enabled). This is not required if you don't need to download/parse replays.
  • Start containers and initialize databases: docker-compose up
  • Make some changes and commit them.
  • Submit a pull request. Wait for it to be reviewed and merged.
  • OPTIONAL Add your DOTA friend code (SteamId3) to the CONTRIBUTORS.js file.
  • Congratulations! You're a contributor.

Notes

  • The API runs on port 5000 by default.
  • File changes made in the host directory get mirrored into the container.
  • Get a terminal into the running container: docker exec -it odota-core bash
  • The process manager pm2 is used to manage the individual services. Each is run as a separate Node.js process.
    • pm2 list See the currently running services.
    • pm2 start manifest.json Start all the services according to the manifest file
    • pm2 start manifest.json --only web Starts a specific service
    • pm2 stop web Stop a specific service
    • pm2 stop all Stop all the services
    • pm2 logs web Inspect the output of a service
  • docker system prune Cleans your system of any stopped containers, images, and volumes
  • docker-compose build Rebuilds your containers (e.g. for database schema updates)
  • docker pull odota/parser You may need to do this if the parser has updated. Remove and recreate the parser container to run the latest code.
  • Tests are written using the mocha framework.
    • npm test runs the full test suite.
    • Use mocha CLI for more fine-grained control over the tests you want to run.
  • Starter data
    • You can request some parses by ID to get some parsed data.
    • You can also run scanner to get some matches from the API.

Resources

History

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].