Giter VIP home page Giter VIP logo

locket-match-queries's Introduction

Locket Match Queries

Drafting and stats tool for use against amateur teams. Existing stats websites can go into detail about teams of professional players or individual amateur players, but this project allows analysis of teams of amateur players.

Project originally a partner project for the Programming Languages class at SDSMT by Matthew Reff and Brian Brunner

Setup

Yarn

Yarn is required for the frontend and optional but recommended for the other packages. This repository is managed using yarn workspaces.

Clojure

Only the clojure command is required. Clojure builds are either via deps or shadow-cljs from NPM, so no other build tool is required.

Docker

The tests use GitHub packages to store docker images, and even though they’re public, you must be authenticated as per these instructions. More info here.

General commands

This project uses yarn workspaces to manage separate builds. To run a command for a single package, use

yarn workspace @locket/package command
yarn workspaces foreach --parallel --interlaced --all command

where package is frontend, backend or db, and command is one of the below.

Running

Via Yarn

All packages should support the command run start to run the current codebase. However, this is only suitable for development on the frontend, as the other packages don’t have automatic live reload.

Individually

The systems can each be started individually with their specific tools, or with yarn. See the individual packages’ readme for information about the recommended way to run during development.

Tests

The frontend and backend packages have tests that may be run with run tests.

locket-match-queries's People

Contributors

briaoeuidhtns avatar matthewreff avatar

Stargazers

zhoumin79 avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

locket-match-queries's Issues

Add api

Need to have an api to expose collected data.

Prob at least needs:

  • spec based mocks
  • Hero data
  • Item data
  • Match data (just forward gathered data from valve api)
    • Paging
  • Most common heroes
  • Most successful heroes
  • Common combos?
  • Worst at playing against
  • Best at playing against

Improve frontend

Frontend is sort of functional now, but still rough/missing a lot

TODO

  • gql mocks
  • Match views
    • needs items/resources in backend
  • Player views
    • needs player info exposed as root query
      • Display name
      • Profile pic link
  • Analysis views
    • Core
    • Expand
    • key errors
      • Probably fixed with real data (or at least easier to fix)
    • Some sort of per query modal display thing?
      • Not useful until more queries added
  • Router support

Improve CI and build system

Currently everything is half switched over to yarn workspaces.

Here's a handful of related small issues:

  • Generic

    • make consistent format/lint/other scripts
  • Frontend

    • Add ci tasks (probably just a build)
  • Backend

    • ci is still using clojure directly. Use yarn instead for consistency
  • DB

    • build doesn't do anything. Should prob build it's tag before backend builds.
    • run should run a dev image. Maybe add a sane config to backend too?

Indicate for which players a match was pulled

Steam api allows pulling contiguous matches from a user starting at a specific id. In order to know where to start pulling, you need the last match that was pulled for that user, not just the last cached match where that user played.

Fix items in db

Neutral items missing in additional_units, too many backpack slots, none of them are foreign keys. While fixing can factor out to a new inventory table to avoid duplication.

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.