Giter Club home page Giter Club logo

masterrank's People

Contributors

aswizzl avatar ryant26 avatar wisesm0 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

masterrank's Issues

Implement landing page design

Implement the front end of the landing page. As per @andylin's designs.

Tasks:

  • Style subscribe button (on click)
  • Implement scrollspy logic for learn more icon
  • Implement email validation logic (and styles to show pass/fail)
  • Implement email submit (AJAX)
  • Implement email submit feedback (Request pass/fail)

Create HeroSelector Component

Display an icon for each hero, which acts as a toggle. 0 to n heroes can be selected at any time, where n is the total number of heroes.

Potential Race condition when members accept group invite

If the group is deleted at the same time as a pending player accepts an invite they could be inserted into the "deleted" group.

Need to add a transaction that watches the "leader" key. A change in this key will indicate that the group leader has either left or the group has been deleted.

Add support for multiple platforms

An early assumption made with the socket server was that everyone used Battle.NET this is not the case for PSN or XBox users.

Need to add additional namespaces to accommodate for other platforms

Need to fork Oversmash and maintain it ourselves

As is the case with most scraping libraries they need frequent updates as the web page changes.

Someone opened a PR 19 days ago that has not been merged (we need the PR fix). I reached out to the owner to see if I could become the maintainer of the project. If I don't hear back from him we will have to fork it and maintain it ourselves.

Make update functions more intelligent

In the case that the scraper becomes out of date, when updating a player's data we should check that we aren't overwriting a good value with a value of 0, null or Nan

Design DB Schema

  • Schema should be able to support fast queires for hero stats
  • Should also support fast queries for producing "percentile" of certain hero stats

Replace Mock Player Client with Real One

  • replace getPlayerRank
    • create endpoint on heroAPI that looks for 1 hero and returns SR
      • create tests for said endpoint
    • update existing unit tests for socketServer
    • update existing functional tests for socketServer
    • update existing multiNode tests for socketServer
      • Create mockAPI that can launch or use resolver to mock PlayerClient
  • replace getHeroStats
    • add getHeroStats to PlayerApi unit test mocking helper
    • update existing unit tests for socketServer
    • update existing functional tests for socketServer
    • update existing multiNode tests for socketServer
      • Create mockAPI that can launch or use resolver to mock PlayerClient

Need to change groupID functionality to support server crashes

Atm the server is the only place the groupID is stored, if the server crashes (or terminated due to autoscaling) there is no way to re-insert the hero into the group on reconnect. Thus we need to:

  • Store the group ID in the heroInfo key (or make a new key for it)
  • Retrieve this information on connect and send it as part of the 'initialData' event
  • Update the API docs to show this change

Create initial Auth / API Server dir

  • Create dir
  • Add necessary build info to travis.yml
  • Create initial dir layout
  • Add a dummy test for the build to run
  • Set up build/pipeline (gulp, linting, etc)

Set up Redux

Install Redux and refactor the current MasterRank App to use Redux's store

Need to make all Redis keys volitile

Although the client should have AFK handling. The server should not rely on that.

We need to make all the Redis keys expire after some time limit:

  • Groups: 2-6hrs?
  • Heros: 1.5 hrs?

Create Wiki

  • Start with an info page describing the project

Create Role Container Component

Create the basic skeleton component for housing character roles with some fake data.
For now, just be sure to include:

  • Proper characters per role
  • Basic logic for ranking by win percentage

Out of scope:
-Ranking based on current users SR

screen shot 2017-10-15 at 4 51 36 pm

Do memory analysis

I use a lot of events and promises in the socket server. Do a memory analysis to make sure all of those closures are being cleaned up properly

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.