johnridesabike / coronate

A Swiss-style chess tournament management app.
https://coronate.netlify.app/
Mozilla Public License 2.0
146 stars 24 forks source link

Real tournament : some questions and tips #84

Closed tissatussa closed 5 months ago

tissatussa commented 1 year ago

Thanks for Coronate ! Indeed not many good tournament software exists. Your Coronate setup is simple and complete for me .. almost.

Yesterday i successfully used the program for our first Rapid chess tournament of this season. At some point i had to improvise, but all went well. Now i have some remarks.

The page where all players can be in/excluded for the next round shows a non-sorted name list, which is frustrating (i had 30 participants). Btw. on that page a new player can be added, including their start rating, which is a handy feature.

We would like to print / publish the results of each round .. i did it by just copy/paste all text of such table and formatting it by hand, using a handy text editor .. i could also take a screenshot and publish that (even long pages, using a nifty browser addon) but in the chess world we normally see "0-1" and "½-½" as results, not an icon like you implemented (although a nice idea).

I could hardly re-find that page to save the tournament as a JSON file .. its place could be more clear in the navigation.

Using a JSON file is great. I'm familiar with this file format, but i wonder : i had 30 players wanting to join, the data of most of them (being our club members) i entered some days before the tournament, and new players i added just before the first pairing .. but my JSON section "tournaments / playerIds" shows 22 player Ids !? I also encountered that late "-1 bug" #83 which you solved very recently : while resetting my first round (reason [*]below) the Bye-player of the auto-pairing had -1 match count and also most other players have an incorrect match count, so it seems .. can i adjust those by hand .. ok, i should update to the newest source ..

(*) After i let Coronate auto-pair the first round and all players took there seats, two players came to me : i forgot to include them .. i was lucky to let them play eachother, having about same strength, but i couldn't find a way to add those players to the system, while keeping the current round (not wanting to disturb the players by cancelling their games) .. so i wrote down the pairings, removed the current round and re-entered all the pairings plus the missing one, making them all fixed (which is a nice and practical feature)

I know it can be a hard job to add and correct these features .. could you at least fix the alphabetical order of the concerning player list ? I feel it can almost break the use of Coronate.

johnridesabike commented 1 year ago

Thanks for the feedback! I don't have a lot of time these days to work on Coronate like I used to, but some of these issues might not be too hard to fix. Here are a few quick thoughts about them:

Making the player lists sortable shouldn't be too hard. The code for that is already implemented in other parts of the app, so it just needs to be used consistently.

Most of the pages should already be printer-friendly, although the exact style isn't customizable. I can consider specific changes to the print styles though.

I don't mind using notation like "0-1" for match results, although I feel like it would more naturally appear where the text like "Black won" currently is (in the dropdown menu). IMO the icons are just supplementary to make it slightly easier to read.

I can look into making a more prominent button for saving the JSON data.

The JSON data should always match your data (when you visit the page, it regenerates the JSON with you current data). So if everything else was working then I'm not sure what that issue was. Maybe the player profiles were created, but not added to the tournament yet?

The last update hopefully fixed the match count bugs. FWIW, the only thing that match counts do is affect the K-factor which calculates ratings. My rating calculations are VERY rough right now, so even if a match count is off it won't make a big difference for that.

After you add the players to the tournament, you can select the most recent round and click the "unmatched players" tab at the top, and the new players should automatically be there. As far as I know it works without issues, but let me know if it gives you more problems.

As an aside, here's an example of how a round looks when printed: printedround

tissatussa commented 1 year ago

Making the player lists sortable shouldn't be too hard. The code for that is already implemented in other parts of the app, so it just needs to be used consistently.

that's what i thought .. i'm looking forward to that fix.

Most of the pages should already be printer-friendly, although the exact style isn't customizable. I can consider specific changes to the print styles though.

what about downloading those tables (esp. the round results and score list, not the crosstable) by JSON format ? That way a programmer like me can easily write a script (Python or JS in my case) which uses that data to create a nice table, simply monospaced, even leaving out some custom columns .. then i can supply such convert-to-print scripts to you .. deal ?

I don't mind using notation like "0-1" for match results, although I feel like it would more naturally appear where the text like "Black won" currently is (in the dropdown menu). IMO the icons are just supplementary to make it slightly easier to read.

then both "0-1" and "Black won" would be best !? indeed the icons make reading easier, but i consider them a nice bonus.

I can look into making a more prominent button for saving the JSON data.

yeah, its current place isn't clear for starters .. but saving the tournament data is pretty useful : when NOT seeing that feature, users may think Coronate isn't useful at all ..

..Maybe the player profiles were created, but not added to the tournament yet?

yes, that's what i did ..

The last update hopefully fixed the match count bugs. FWIW, the only thing that match counts do is affect the K-factor which calculates ratings. My rating calculations are VERY rough right now, so even if a match count is off it won't make a big difference for that.

OK, so i can adjust those match counts by hand! Thanks for this short explanation.

After you add the players to the tournament, you can select the most recent round and click the "unmatched players" tab at the top, and the new players should automatically be there. As far as I know it works without issues, but let me know if it gives you more problems.

I will try !

johnridesabike commented 1 year ago

what about downloading those tables (esp. the round results and score list, not the crosstable) by JSON format ? That way a programmer like me can easily write a script (Python or JS in my case) which uses that data to create a nice table, simply monospaced, even leaving out some custom columns .. then i can supply such convert-to-print scripts to you .. deal ?

This might be a good idea. Although, since it's all tabular data, maybe CSV would make more sense? That's a pretty common plain-text format too, and has the advantage that any spreadsheet software like Excel can easily read it.

tissatussa commented 1 year ago

indeed .csv might even be better when the data has a simple structure .. i created such csv-to-custom-table scripts before, resulting in a plain text table by monospaced font (which is most convenient i think) .. i can also do PHP, eg. create a seperate web page with a form : paste that .csv and display the table text -- i just offer this method while you seem to have little time ?!

tissatussa commented 1 year ago

i know .csv can be loaded into Excel and thus see the full data table .. but i'm focussing on publication, esp. in a web article.