oakmac / tourney-bot Goto Github PK
View Code? Open in Web Editor NEWan app to run the Houston Ultimate Indoor Tournament
License: ISC License
an app to run the Houston Ultimate Indoor Tournament
License: ISC License
Once the tournament has begun, there should always be an "in progress" game.
In general, flagging the current "in progress" game's scores as final should start the next game as "in progress".
On the admin side. And allow the "simulated round".
Show a list of teams that have played each other.
When teamA is set, but teamB is not set, the clientside has a bug showing "TeamA vs"
In general, we need a better display for pending games.
It would be nice to have a "flip" button for teamA and teamB on the edit game modal so it can match which side the actual teams are on.
This is a tricky one.
The way things work currently, the Admin side pushes a full state update every N seconds and never requests an update from the server (ie: the admin side only pushes, it never pulls). This makes it impossible for more than one person to be using the admin side at a time; they will constantly overwriting each other's edits with every update.
This worked ok for the 2016 tournament, but we need a better solution here.
One option: control the admin side using sockets and just make everything real-time.
Another option: use versioning on the state updates to make sure all clients are on the latest version.
Need to update the README with the changes made for the 2017 tournament.
In particular, the server side changes.
On the server-side. Really helpful for debugging.
It would be nice to write some simple functions that ensure a valid tournament state and have them run on every state change.
Examples:
Should be able to port this over from tourney-nerd.
It shouldn't be too hard to improve the matchups algorithm and have it automatically populate the next swiss round:
This was a problem for the 2016 tournament. Network connectivity at sports facilities is less-than-optimal. Several times the laptop being used for admin updates had lost connectivity and the only way we were able to figure that out is because the client side was not receiving the score updates.
Need a way to communicate to the admin when they have lost their network connection. I think re-vamping the admin side using sockets would help here.
The Houston Ultimate Indoor Tournament has some unique requirements for an Ultimate tournament:
The purpose of this project is to build a system that can manage these unique requirements.
when there are no games
The Edit Game Modal should not take up the full width when being used on a desktop.
It would be excellent if the system could tell you a guaranteed matchup for the next swiss round during the final game of the current round.
When using the admin side and updating time inputs, you can inadvertently re-sort the game list as you're inputting values due to the way rum / react is constantly updating the UI as you type.
Probably need to make the time inputs transient state components and only update the state on an onBlur
event from them. This also gives us a chance to make sure the time is formatted correctly.
Another option might be to do time input on a separate screen from the games input. Would make the games input pages less busy.
The matching algorithm created with commit 76824c4 would benefit from some test cases.
Need to add a bracket display to the results tab on the client side.
When you select two teams to play that have already played each other in prior swiss rounds.
It can just show up on the game row where you have picked the two teams.
Make a Schedule page. Sort on game-id, let the user edit the start-time field.
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.