Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Judge Role #927

Open
zanderisrael opened this issue Sep 30, 2024 · 3 comments
Open

Feature Request: Judge Role #927

zanderisrael opened this issue Sep 30, 2024 · 3 comments

Comments

@zanderisrael
Copy link

Feature Request: Judge Role

Summary

I would like to propose adding a Judge Role feature to the application. The idea is to have a user role specifically for judges who can log in and manage only the courts they are assigned to. This role would have restricted access compared to admins and participants.

Feature Description

Judge Role:

  • Judges should be able to log in with a dedicated user account.
  • Upon logging in, judges will only have access to the courts they are assigned to.
  • Judges should be able to:
    • View the current matches in their assigned court(s).
    • Update the scores for the matches they are overseeing.

Admin Role (for context):

  • Admins will assign courts to judges.
  • Admins will manage the overall system, while judges only interact with their designated courts.

Benefits:

  • This feature provides a simple and secure way for judges to manage and update scores without needing full system access.
  • Improves scalability for larger tournaments where multiple judges are needed across various courts.

Proposed Implementation

  1. User Authentication & Roles: Add a new user role called "Judge" with restricted access.
  2. Court Assignment: Admins can assign specific courts to each judge.
  3. Dashboard for Judges: Upon login, judges will be shown only their assigned courts with options to update scores.
  4. Score Management: Judges should be able to enter and update scores for the matches they are responsible for.

Potential Challenges

  • Handling judge assignment efficiently for larger tournaments.
  • Ensuring that judges have access only to their assigned courts.

Optional Add-ons

  • Notifications to judges when a new match starts on their court.
  • Real-time score updates viewable by participants and spectators.

Conclusion

This feature would streamline the role of judges in the system and enhance the management of tournaments, particularly those with multiple courts running concurrently.

@zanderisrael
Copy link
Author

Hey, I can add this functionality if your busy, i'd like some pointers as to what is needed so I don't waste time. Thanks : )

@evroon
Copy link
Owner

evroon commented Nov 20, 2024

Hey, sorry that I haven't responded earlier.

Thanks for raising this feature request!

I think the idea to add judges is a good idea. However, I am not sure what the best way to implement it is. For example, you suggest to bind judges to courts, but other tournament systems bind judges to individual matches (1 to many relationship). I would be inclined to bind judges to matches, and then users (admins in your case) can assign a judge to all matches at a court at once, to make the UX better.

Also this is a bit problematic:

Upon logging in, judges will only have access to the courts they are assigned to.

The authorization model of Bracket currently only determines whether a user has access to a certain club, and then the user can access all tournaments inside that club. I don't want to overcomplicate things by having to deal with authorization on a deep level, because it easily leads to bugs and it makes the interface/frontend a lot more complicated. So is there a large downside to giving judges more access?

As for the implementation, I have to think about it a bit more before I can think of the best way to implement this. I want to keep Bracket relatively simple and not add unnecessary complexity to handle specific usecases without a good understanding of the motivation behind it, so I would first want to understand the problem better.

@zanderisrael
Copy link
Author

zanderisrael commented Nov 20, 2024

Sure,
When running multiple tables (courts), its hard to keep score if only one person can enter scores.
If we have a judge role we can then let the judge enter scores for his court (avoid mistakes)
Maybe a dedicated table for judge type users that contains a separate route entirely with separate auth and fronted.
its a workaround...
In the end:

  1. assign judge to court
  2. allow judge to enter match results.

the rest of the functionality is not needed (ui)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants