Skip to content

Completion Steps

Dylan Brose edited this page Sep 3, 2024 · 9 revisions

Important

While this is here, the completion steps are UNFINISHED! Please do no start working on them until the application is officially announced as open

There are a few categories of issues that need to be fixed. They are (mostly) of equal importance for the sake of the application, but vary drastically in difficulty and scope. For the more difficult issues, there are included hints. Viewing the hints will have no effect on the acceptance chance of your application, and is in fact encouraged. However, you are free to try and solve issues without hints if you wish to challenge yourself.

Visual Typos

These issues are the most minor, and are by far the easiest to fix. They have no effect on the actual functionality of the code.

Incorrect Button Naming

Steps to Reproduce: Open the application, and look at the button you press to start the game.

Expected Result: The button is spelled "Start Game".

Actual Result: The button is spelled "Start Gmae".

Misspelled Tab Name

Steps to Reproduce: Open the application, and look at the tab name in your browser.

Expected Result: The tab name is spelled "ChessBots Application".

Actual Result: The tab name is spelled "Chezbot Application".

Functional Typos

These typos are a bit more serious. They are harder to identify, and cause tangible bugs. The typos themselves will not be listed, but the issues they cause will.
The list of issues caused by functional typos is included below.

Player Pieces are Incorrect

Steps to Reproduce: Start a game, and look at the pieces that the players are playing.

Expected Result: Player 1 (the host) plays X, and Player 2 (the client) plays O.

Actual Result: Both players are playing X.

Functional Bugs

  • The endpoint being called to start the game on the frontend has a typo. figure out how to fix it.

Broken Imports

At the top of every file is a good few lines where you import every outside class you use within that file. Sometimes you rename a file or class, or maybe just forget the import. Now you have the dreaded Red Squiggly! These shouldn't be too hard to fix as long as you read what the squiggly is telling you.

API and WebSocket issues

These issues are caused by a larger variety of problems than just typos, and the solutions will be just as varied. Good luck! (Make sure to check the hints if you get stuck).

Placement Messages Can Be Sent After Game End

Steps to Reproduce: Start a game, and click a non-disabled board title after the game has ended.

Expected Result: The game does not allow you to place a piece after the game has ended.

Actual Result: The game allows you to place a piece after the game has ended.

Board Is Not Disabled After Game End

Steps to Reproduce: Start a game, and look at the board after the game has ended.

Expected Result: The board is disabled after the game has ended. All the tiles are greyed out, and clicking a piece does nothing.

Actual Result: The board is not disabled after the game has ended. You can still click on the tiles, and place pieces.

React Shenanigans

If you are new to React, or even front-end in general, these may seem like black magic at first. I suggest carefully reading through all the client files, and trying to fully understand the flow. (You may also want to look into things like state and useEffect).

Board layout is wrong

Steps to Reproduce: Start a game, and look at the board.

Expected Result: The board is a 3x3 grid.

Actual Result: The board is a 1x9 grid

Clone this wiki locally