Giter Club home page Giter Club logo

gameon's People

Contributors

daniellarsennz avatar dylan-apera avatar ncostar avatar olafwrieden avatar tsc-buddy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gameon's Issues

Bug: Actions runs build-and-deploy on Push to Feature Branches and Pull Requests

Discovered a bug in our build-and-deploy GitHub Actions and thought I'd escalate to our newly formed ops team to resolve, rather than doing it myself ๐Ÿคฃ @dylan-apera I'll let you think about what might be happening based on the two findings I am about to report. Test if you can resolve them without scrolling beyond this description. My only comment below documents the two changes we need to perform.

  1. I was working on a feature branch and the Deploy Web App action was triggered with every push, this should not happen unless and until I push to main as it will break the production build.
  2. After finishing development on the feature branch, I created a pull request and saw that it began firing again.. building and deploying the app as part of the automated 'CI checks' before I could merge the PR. This should also not happen until the PR is merged to main (see screenshot below).

@dylan-apera @DanielLarsenNZ Please take a look at the Deploy Web App action you put together on Monday, and ensure it only triggers a build and deploy once code has merged to main, not when commits are made to other branches, or PRs are created/updated. Beware that the same bug may exist in the .NET action too.

Build and Deploy on PR

Upgrade Dapr

  • dapr upgrade --runtime-version 1.0.0 -k
  • Install-Package Dapr.Client -Version 1.0.0
  • Trigger a release;
  • restart the pods / containers / services

As an Owner I want to Delete (End) a Tournament

  • We want to think about "ending" tournaments upon their completion (rather than deleting them).
  • If however, the tournament was created in error, no games were played, no players have joined etc.. then we might want to allow the deletion of a tournament.
  • If the owner ends a tournament, we must ensure that the endDate is updated to today's date.

As an Owner I want to be able to restrict the number of people in a tournament

If a tournament is closed or has reached maxPlayers, the join button is not shown and a Full Capacity badge appears beside the tournament name.

TODO: Restrict registration on the backend, ie. throw an error if one or more players can't be added to the tournament because it has reached capacity. Or, when adding multiple players to the tournament, throw an error if not all can be added due to the capacity restriction.

As a User I want to be able to create a Tournament

TODO

  • Set Owner and Player1 on Tournament POST. See also #4

Additional Success Criteria

  • Given a new tournament is being created, when the user fills out its details then they are presented with a text field to enter a tournament name, description, and reward.

As a User I want to challenge another user to a match

Considerations:

  • How many days does a player have to respond to a challenge? Is this dynamic based on type of sport?
  • We need to store the challenged player IDs based on the current user (in /me endpoint?)
  • Is there a grace period before a player can be challenged again by the same person? How's this stored?
  • Should the Tournament Owner be able to toggle whether players can challenge each other for this tournament (ie. canChallenge boolean on /tournaments/{id})?
  • We should also store the start and end date of the n-day challenge so that we can remind the players.

Proposed:

[
  {
    playerId: String, // ID of challenged player
    startDate: Date, // Date when competition started
    endDate: Date, // Date when competition ended
    daysLeft: Integer, // computed
    daysTotal: Integer, // computed
  }
]

On the front-end a player should be able to challenge another player by selecting this option from a dropdown next to the opponent's name on the leaderboard. This option should not be visible for a previously challenged player during a grace period. Somehow the player should be visually reminded of their currently outstanding challenges.

Given no tournament exists in the tenant, when all tournaments are requested, an empty array should be returned.

@DanielLarsenNZ - Just pulled my hair out as to why I was getting error 204 - No Content on GET /tournaments. Isn't a 200 response with an empty array more suited in this scenario?

Given no tournaments exist for the tenant, when GET /tournaments is called, then we should get a 200 - OK and empty array because we are not saying it is an error that no data exists, there is just nothing there (hence []).

As a User I want to leave a Tournament

Questions

  • What happens to scores?
  • How do we retain historical records of who played who?

Constraints

  • A player should be able to remove themselves.
  • An Owner cannot remove themselves (must transfer ownership as in #25 before they are downgraded to Player and can remove themselves.
  • Cannot leave once the tournament has ended (for historical reasons - is this valid?)

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.