Giter Club home page Giter Club logo

pingpong's People

Contributors

coreysnyder04 avatar ewilson avatar faktorsmak avatar jshemas avatar tandrewnichols avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pingpong's Issues

Need shared dev/test environment

I'm thinking that there should be a place that proposed code changes could be deployed for testing and demo purposes. Call it test.pingpong.com or something.

  • It should have some data, say, a week old copy of the production Mongo
  • It should be accessible anywhere inside the Manta VPN
  • The project documentation should be expanded to include a developers section that includes instructions on how to deploy to the test environment, and how to copy the data from production to test, or from test to local.

Ideally these issues would be resolved before the swarm-coding lunch & learn, as reducing barriers to participation increases the likelihood of gaining another regular contributor or two.

Tweet when player overtakes another in rankings

Could we send a Tweet each time a player overtakes another in the rankings?

Example text:

"Ranking update:
Player A is now in X place
Player B is now in Y place
Player C is now in Z place"

We would only list players who's rankings were effected by the recalculation of ranks for the most recent game. I'm assuming by posting a game, ranks are recalculated, as opposed to ranks recalculating at some other interval, or based on some other action.

On player page, put player always on left

It's a little hard to read the games on the player page quickly, since that player could be on either side. On the home page, it makes sense to show the game as it was entered, but on the player page, we should put that player always on the left.

node dependencies

Looks like we started using nconf. This should be added to node_mondules. If we do add it, then we should update the rest of the dependencies.

Or, we should delete node_mondules from the repo.

Add route to delete a game

Be sure not to remove the game, but instead set a "deleted" flag. Update the games queries found all over to filter out that deleted tab.

Add NodeJS/mongo to view/add/remove teams

We'll need to create a new schema for teams to point to a 'teams' collection

  • Team Name
  • Player 1 - ID of user record
  • Player 2 - ID of user record

We need to create a few new routes:
TEAMS:

  • /teams - POST - Add a team
  • /teams - GET - retrieve the JSON for all teams
  • /teams/:teamID - DELETE - remove the team by ID
  • /teams/:teamID - GET - get the team by ID
    MATCHES:
  • /matches/team - POST - Add a match including two teams

Write unit tests to test this logic. Don't start UI, that will be done in a different issue.

Add Team Detail Page

This page will show the details of a particular team, similar to the player detail page.

Add new Angular Routes in /js/app.js

  • /teams/:teamId
    • team-detail.html
    • TeamDetailController

Add match validation

We need more validation around adding a match. Currently, you add matches in which individual games are ties, or even the entire match is a tie. For instance, you can enter the default scores, 11 to 11 in both games, and it works fine.

We should check that:

  1. One player wins two of the games.
  2. One player does NOT win three games (could affect ratings strangely).
  3. The scores in all games are different.
  4. Winning score is 11 if losing score is 9 or less.
  5. Winning score is NEVER less than 11.
  6. Losing score is AT LEAST 2 less than the winning score.

Mongoose has something called statics, so we could just add these to the match schema. I would like to see us, generally, move more of the logic to the schemas, since we're really doing operations against Matches and Players most of the time.

Something like:

Match.statics.validateGame = function(matchObj){
    // Do validation
}

Match.statics.validateMatch = function(matchObj){
    // Do validation
}

etc...

Automated Tests Failed

It looks like our Automated Tests are failing. I started looking into this and it seems that the tests that use mongo calls never get a return from the database. (Not even an error!)

I'm wondering if this is a problem with my local database or not. Can someone verified?

Add a route which returns deleted games.

This will be useful if we want to create a page which shows the history of deleting games. That way if someone is going in and removing their losses, it will be visible.

  • Create route to return JSON of deleted games.
  • Second step will be to create the view uses that JSON which shows those removed games.

Add UI to view/add/remove teams

Add new Angular Routes:

  • /teams/:teamId
    • team-detail.html
    • TeamDetailController
  • /teams/
    • team-list.html
    • TeamListController
  • /matches/teams
    • TeamMatchListController
    • team-match-list.html
  • /matches/teams/:matchId
    • TeamMatchDetailController
    • team-match-detail.html

Add Team List Page

This page will be similar to the players list page, and will list all teams with links to their profiles.

Start with new Angular Routes in /js/app.js

  • /teams/
    • team-list.html
    • TeamListController

Add Team Match Detail Page

This page will show the details of a particular matchup between two teams. Similar to the player match detail page.

Add new Angular Routes in /js/app.js

  • /matches/teams/:matchId
    • TeamMatchDetailController
    • team-match-detail.html

Add Team Matches List Page

This is similar to the listing page for player matches but would be for team matches.

Start with new Angular Routes in /js/app.js

  • /matches/teams
    • TeamMatchListController
    • team-match-list.html

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.