GithubHelp home page GithubHelp logo

pattaras / yasp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from odota/core

0.0 1.0 0.0 116.48 MB

Open source Dota 2 replay parsing and statistics

Home Page: http://yasp.co

License: GNU General Public License v3.0

JavaScript 67.20% Shell 3.08% Java 3.48% CSS 2.18% HTML 24.05%

yasp's Introduction

YASP (Yet Another Stats Page)

Build Status Code Climate Coverage Status Dependency Status devDependency Status Discord

Overview

  • This project aims to provide free, open source, highly detailed match and player statistics for the Dota 2 community.
  • Data comes from the WebAPI provided by Valve and fully automated parsing of match replays (.dem files).
  • See here for an example of our match analysis (this match may not have the latest features as we're constantly adding new things).

Tech Stack

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

Quickstart

  • We recommend Cloud 9 IDE for fast and easy setup and development, although you are free to develop on your own setup if you want.
  • Create an account on Cloud 9: https://c9.io/dashboard.html
  • Start a new workspace and choose the source GitHub repository as yasp-dota/yasp, or your own fork of it if you're planning to make changes and submit a pull request.
  • Open the workspace
  • Install dependencies: sudo bash init.sh. The script is designed for Ubuntu 14.04 LTS. For other platforms, please have a look at the wiki.
  • Create .env file with required config values in KEY=VALUE format (see config.js for a full listing of options) cp .env_example .env
    • The retriever requires a Steam account in order to fetch replay salts. We recommend creating a new account for this purpose (you won't be able to log into the account while the retriever is using it). If you don't care about getting replay salts/downloading replays then you can skip this step.
  • Set up the database sudo npm run create
  • Build npm run build
  • Run the application with one of the following: (this will run under nodemon so file changes automatically restart the server):
    • npm run dev Run one instance of each service.
    • npm run dev web Runs just the web server. Useful for developing just the frontend CSS/JS.
    • npm run dev web,parser,requests,retriever The minimal setup for being able to open the site in a browser and request parses by ID (which is a useful end-to-end test).
  • Other useful commands
    • npm run watch: If you want to make changes to client side JS, you will want to run the watch script in a separate window in order to automatically rebuild after making changes.
    • npm test runs the full test suite. Use mocha for more fine-grained control over the tests you want to run.
    • npm run task updateconstants pulls latest constants data and saves to json directory.
    • npm run task fullhistory queues a full history request for all players in DB who don't have it yet.
    • npm run update updates all deps in package.json to latest versions.
  • Get some starter data
    • You can request some parses by ID to get some parsed data.
    • You can also log in through Steam on your own instance to trigger a full history request for that user (requires fullhistory service to be running)
  • Make some changes and commit them: git add --all; git commit -m "My first commit!"
  • Submit a pull request. Wait for it to be reviewed and merged.
  • Congratulations! You're a contributor.

Architecture and Design

See the wiki.

History

yasp's People

Contributors

howardchung avatar albertcui avatar paralin avatar wtfkr0 avatar nicholashh avatar mvthen avatar rjackson avatar vramana avatar aehrraid avatar mbax avatar ahockersten avatar mysrt avatar lemongod avatar fhoffa avatar likered avatar dancek avatar mhartkorn avatar mchearty avatar michael-the1 avatar promisedlandt avatar teuneboon avatar coreymaher avatar jfo84 avatar jazzyjosh avatar gitter-badger avatar crisbal avatar eblis avatar giller avatar wickedplayer494 avatar

Watchers

Pattara Sukprasert 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.