daniellarsennz / gameon Goto Github PK
View Code? Open in Web Editor NEWLadder tournament apps
License: MIT License
Ladder tournament apps
License: MIT License
Questions
Constraints
TODO
Additional Success Criteria
@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 []
).
Pagination using ?skip
and ?limit
parameters.
TODO: Qualify what this means, we can already share a link to the tournament which is then accessible by anyone inside the same tenant.
If this refers to adding a user, then this is a duplicate of #47 and should be closed.
Backend task to retrieve profile images from AAD Graph API.
GET me/photos
GET users/{user_id}/photos
Logging this as a bug
MSAL.NetCore.4.24.0.0.MsalUiRequiredException:
ErrorCode: invalid_grant
Microsoft.Identity.Client.MsalUiRequiredException: AADSTS65001: The user or administrator has not consented
to use the application with ID 'api://GameOn.Api' named 'GameOn.Users'. Send an interactive authorization
request for this user and resource.
DevOps task to create actions to automatically deploy backend from main
Considerations:
/me
endpoint?)canChallenge
boolean on /tournaments/{id}
)?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.
Have pulled this out of #8
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.
Document all routes and parameters. Maybe serve docs on api.gameon.nz root directory.
The idea here is that rules show up on the tournament page's overview (below the description). Entering these by hand may get messy and doesn't scale, therefore:
@DanielLarsenNZ I recommend we allow the owner to enter a URL link to a website / YouTube video that contains the sport's ruleset... and simply store this as a String (nullable) for each tournament.
@DanielLarsenNZ any feedback on the above?
Additional Success Criteria
This is a filter on GET /tournaments
which is covered in #70.
dapr upgrade --runtime-version 1.0.0 -k
Players should be able to view closed tournaments they previously played in, but not submit new scores (think: locked conversations in GitHub)
@sbkoppens suggested swipe your badge when you play to lookup your AD identity and attribute it to the match
We want to display the following stats for each tournament:
Design an endpoint that accepts the new owner's ID and updates the tournament's owner
attribute accordingly.
Only the current owner of the tournament should be able to transfer his/her ownership to another player.
The old owner should remain in players[]
This is the frontend story for #4.
TODO: Qualify "notified" - is this referring to email notifications? Could #68 be a duplicate?
Backend
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.
main
as it will break the production build.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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.