johnridesabike / coronate

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

Coronate FAQ needed ? #94

Closed tissatussa closed 3 months ago

tissatussa commented 6 months ago

(refers to my #93 ) yesterday we had the 3rd Rapid evening at our club, using Coronate - the newest version at this moment, having all player lists sorted. This seems to work fine, but i was still a bit confused by the navigation while adding new players : should this be done before a next round, or can it (also) be done during ?

i had to fix the parings of some round .. this can easily be done, but at first it's not really obvious how to navigate .. also it seems player names can not be removed after adding - i do not find such function - in fact this is not a real problem, these players can be excluded from the pairing just by unselecting.

i (we) could write a nice and clear manual for Coronate, or FAQ (which i prefer), with images like screenshots. I have experience with such and i'm willing to help.

i'm not saying your navigation is wrong or bad, just some specific layout and extra (little) texts or message layers could suffice.

johnridesabike commented 5 months ago

This is probably a good idea. I'll admit that some of the UI isn't perfect (it's not my strongest skill), so adding documentation would be helpful.

I'm happy to accept any contributions for that. We could start by adding a markdown file in a /docs/ directory (i.e. /docs/faq.md), and I can add a link to it from the main web app. If we need more documentation then we can always add more markdown files.

tissatussa commented 5 months ago

OK, i will think about FAQ setup and texts.

Can you elaborate on your logic concerning the addition of players ? Before / during managing a next round ? Removing a player ?

johnridesabike commented 5 months ago

You can add and remove players on the "Players" tab and the "Edit player roster" button. From there, you just uncheck a player to remove them and check them to add them.

Adding and removing players only affects the current round. What mainly it does is change which players appear on the "unmatched players" tab. It does not affect any previous rounds or any matches that are already set.

So yes, it makes the most sense to edit the roster right after creating a new round, while everyone is still unmatched. The app won't let you create any further rounds until everyone is matched and all matches are complete, so if a player leaves then you'll have to "edit player roster" to remove them before you match players.

tissatussa commented 5 months ago

You can add and remove players on the "Players" tab and the "Edit player roster" button...

thanks for this details, we can add such text to the FAQ !

about removing players : i understand the process, but i mean removing a player entirely from the program .. i.e. after adding a new player (as you explain), in my case as a test, how to cancel / invert that action ?

johnridesabike commented 5 months ago

On the "Players" page of the main app (not a tournament) you can delete a player by clicking the trash icon on the right of their name on the list. This will delete all of their information.

It will not remove the matches they've already played in any tournaments, but their name will display as "Anonymous player" in the tournaments after that.

tissatussa commented 5 months ago

thanks for this info, such texts can be used in a FAQ .. this info is not yet included in the application !?

i have some experience with other tournament programs : it seems many chess players, which are also programmers, tried to code a tournament manager application, but those programs all have shortcomings .. some are even too old, being DOS based .. recently i found Coronate and i think you did a good job : it's simple but complete and it runs in a web environment, so it's for all OS, using a browser - although it's a bit hard for some people to get in running, because Node must be installed, then execute a command in terminal, then go to port 3000 : it's not click-and-go .. but this can also be explained in a nice way.

to write / compose a FAQ, i must imagine the wishes and questions of a general user, then you can give the concerning texts .. you seem to have a distinct idea about a (chess) tournament manager, being a librarian AND a programmer, and i feel you created a stable core - eg. exporting to JSON -which is awesome- that's why i could create that python script to output a result list and standing for publication.

once i introduced Coronate to a club member, and he asked me : "i looked at it, but how to set the amount of rounds ?" I answered : "you don't have to, you just add a new round and the program will create new pairings according to all previous results".

johnridesabike commented 5 months ago

Regarding the number of rounds, it's probably good to start by explaining that it uses the Swiss system, which is a very specific kind of tournament where all of variables are decided automatically. (A long time ago I planned to add other systems for tournaments, but it required too much time for me to afford.) If someone wants to use something else (e.g. a round-robin tournament) then Coronate is just not designed for that right now.

I don't really intend for most people to install it and run on their own machine with Node (although you certainly can!) If you want to run your own version, then it makes more sense to build it on a web server. And unless you're modifying the code, there should be no reason you can't just use the version I host on https://coronate.netlify.app/ It stores all of its data 100% locally in your browser anyway.

tissatussa commented 5 months ago

here are most of my points .. i didn't sort them accurately yet .. some of them you nicely answered already .. i keep the wording of these FAQ items simple, that's "most general" i think, serving both beginners and advanced PC users.

What is the simplest way to use your program on my computer ?

Can i only use this program in a browser ?

I have an Apple / Windows / Linux computer, can i use Coronate ?

Can i do a tournament with only 4 players ?

What is the maximum number of players in a tournament ?

Can i add new players after some rounds are played ?

Can i save / export all results and later use those to continue the same tournament ?

Can i alter the exported tournament .JSON file ?

Can i change a player name ?

Can i remove a player from the tournament ?

Can i force / fix a pairing ?

Can i force / fix some player pairing will never be made ?

Can i have groups in the tournament ?

How is rating calculated according to the results ?

How can i set a number of rounds for my tournament ?

How is the automatic pairing done ? (about the Swiss system)

How can i review the results of previous rounds ?

How can i see the current standing ?

Can i print a current screen ?

Can i undo / remove a complete round ?

Can i prevent a pairing of players with high rating difference ?

Can i adjust the way the automatic pairing works ? The Swiss system in my country differs.


buttons and menu items should clearly be "grayed-out" according to the program state

a breadcrumb path can be shown, although maybe short, but it makes navigating intuitive

tissatussa commented 5 months ago

https://github.com/johnridesabike/coronate/assets/1109281/a7f79df3-bbcf-4f47-bd8c-5a8cf6b44191

tissatussa commented 5 months ago

best is to first try to answer each question in a short general way .. then a more detailed text can follow, maybe in a seperate pane - also provide links to other FAQ items.

tissatussa commented 4 months ago

did you find time to work on the FAQ ? to start, should i answer the proposed questions myself ?

johnridesabike commented 4 months ago

My apologies for not responding earlier. I've been busy and this fell off my radar.

Yes, please feel free to answer any questions yourself that you're able to. If you feel comfortable opening a PR with a md document for them, I'll be happy to review it.

tissatussa commented 4 months ago

here are almost the same questions, with answers .. please correct them a bit and elaborate when needed. When we give eachother feedback, this FAQ can be complete and simple in a few steps .. i will think of useful screenshots later and add them here. I know what a .md file looks like and its syntax options, but for now i just wrote a raw text :


What is the (simplest) way to use your program on my computer ?

Visit this link : [your online app] You see a dummy tournament with [8] players. You can remove all or some, add players yourself, or change the dummy names. You can even start a fresh empty tournament [by..]. Just enter a unique name for each player and set a rating (default 1200), then click 'add'. Before letting the program decide the pairings for a next round, you can select which players to include -- or 'all'. No need to set your total amount of rounds to be played, any next round just has this same procedure.

You can also use the program code on your own computer, serving the pages on 'localhost', see [link to doc]. It's not hard, it's a simple common setup.


Can i only use this program in a browser ?

Yes, this way it can be used on any OS


I have an Apple / Windows / Linux computer, can i use Coronate ?

Yes, use your favorite browser.


Can i do a tournament with only 4 players ?

Yes, and this is the minimum. With any number of players, when many rounds are played the program may pair some players again, but preferably with colors reversed.


What is the maximum number of players in a tournament ?

[?]


Can i add new players after some rounds are played ?

Yes, sometimes people want to join later, it happens. Before each new round you can add players to the list, or unselect players which want to skip a round or just leave. [*** this may require detailed screenshots]


Can i save / export all results upto a certain round and later use those to continue the same tournament ?

Yes, all your data can be exported to a single JSON file, a common open data format. Later you can load that file, see the Options page.


Can i alter the exported tournament .JSON file ?

This is not recommended .. you might corrupt the tournamen (JSON) file if you don't know what you're doing. It's best to change any settings, e.g. player names, by the program menus.


Can i change a player name ?

Yes, just [describe procedure and add screenshots]


Can i remove a player from the tournament ?

Yes, just [describe procedure and add screenshots] The results of played games remain for all their opponents.


Can i force / fix a pairing ?

Yes, just [describe procedure and add screenshots]


Can i force / fix some player pairing will never be made ?

Yes, just [describe procedure and add screenshots]


Can i have groups in the tournament ?

No, this feature is not implemented (yet). However, consider this : the (optimal) pairings are not only calculated according to the game results so far, but also according to rating.


How is rating calculated according to the results ?

[*** ?!]


How can i set a number of rounds for my tournament ?

There's no need to set your total amount of rounds to be played, any next round just has the same procedure.


How is the automatic pairing done ? (about the Swiss system)

[*** tell a simple story and refer to details]


How can i review the results of previous rounds ?

[*** describe navigation and add screesnhots]


How can i see the current standing ?

[*** describe navigation and add screesnhots]


Can i print a current screen ?

No, there's no print function inside the program, but your browser can print any (web based) page, also create a (PDF) file.


Can i undo / remove a complete round ?

[*** describe navigation and add screesnhots]

-------------------------------------------------------------------------------------------------------------------------- Can i prevent a pairing of players with high rating difference ?

Normally this is done automatically, the program always finds a best suitable opponent, according to rating and tournament results so far.


Can i adjust the way the automatic pairing works ? The Swiss system in my country differs.

No, Coronate uses [...]

tissatussa commented 4 months ago

https://github.com/johnridesabike/coronate/assets/1109281/14fb2171-4214-4477-88c2-a13144eb5a66

johnridesabike commented 4 months ago

Thanks! I went ahead and added this to a PR draft here: #96. Barely edited anything yet, so a lot of those details still need to get filled in. But this is a great start to get the ball rolling!

tissatussa commented 4 months ago

But this is a great start to get the ball rolling!

yes, you're with me. notice i tried to use some sympathetic wording, simple but complete (i hope) .. i did all text without running the app, all's just from my memory when using the app, i generally understand your navigation / logic.

i guess when we try to complete some of those texts and add proper screenshots (& screencasts?) where needed or handy, all will fall in place, including a more intuitive navigation logic. Remember each FAQ item may contain a link to another.

tissatussa commented 4 months ago

again, thinking about the navigation.. for years i did JS, i'm mainly a clientside programmer.

when someone uses Coronate for the first time, its logic can be intuitive by layout of buttons AND if they're available / grayed-out in the current program state .. this can also help you see how to code a more logical setup, if needed.

tissatussa commented 4 months ago

Long lists a common 'problem' when designing a display / layout are long lists : the user should scroll somehow to see all items .. here, list height can be auto / viewport.

in this regard, what about mobile use ? this better be a non-topic ..

johnridesabike commented 4 months ago

Honestly, I haven't designed the interface with mobile in mind. I added some basic CSS a while ago that should hopefully make it usable on mobile, but I never really tested it out in the "real world." That said, I might be able to look into any specific issues it has.

For long lists in general, they should all be scrollable on any screen size. If not, then I can try to fix that!

tissatussa commented 4 months ago

screencast

What is the (simplest) way to use your program on my computer ?

i put this item first and we can embed a screencast here, a little demo video. And maybe a (link to a) second longer one, with detailed explanations or so .. then all other FAQ items only have screenshots / images.

tissatussa commented 4 months ago

..For long lists in general, they should all be scrollable on any screen size..

i remember some navigation buttons / links are no longer visible when scrolling to the bottom ? If so, maybe use a viewport or another navigation feature.

johnridesabike commented 4 months ago

I just updated PR #96 with some more information and some screenshots. Let me know if there's anything else that you think it's missing.

tissatussa commented 4 months ago

i'm not familiar with the PR thingy .. i find https://github.com/johnridesabike/coronate/pull/96/commits/5b1c92557e95ed05c82dc03935b385360eeb6219 but i prefer a draft .md file to clearly see your additions : both texts and screenshots look nice but scattered the way they're presented on the page of the above link ..

johnridesabike commented 4 months ago

A PR (pull request) is just a way to merge a branch into the repository. In this case the new branch's only change is the docs directory. You can browse the markdown on the actual new branch here which might be easier to read. On the PR interface you can do things like suggest changes.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests

tissatussa commented 4 months ago

..browse the markdown on the actual new branch here..

that's nice ! it seems you almost completed the FAQ by (re)writing all answers and you even added new text parts -- i will compare this newest .md to my original questions and see what's missing, but i guess we're almost there !

johnridesabike commented 3 months ago

I went ahead and merged the changes. There's a link to the FAQ in the about dialog box (clicking the "?" in the corner of the home page). Feel free to suggest more content for the FAQ though.

tissatussa commented 3 months ago

that readme.md is OK now. i read it by clicking the "?" as you stated .. a proper link can also be provided on the main GitHub page https://github.com/johnridesabike/coronate : "Read more about how to use the app here" ..

you filled in the gaps : now this FAQ is simply awesome ! the user can / will easily scroll down this page and see all topics .. maybe those can be ordered in a better way, i don't know, it's well done !

creating examples is challenging : good ones can give best info & insights. and pictures can tell a thousand words ..

Avenger Chess

https://github.com/johnridesabike/coronate/assets/1109281/1f9fa542-cfe4-40eb-8d97-f2df18fbaf7a