Adapted from Host on Github article on Hugo documentation
Run hugo in the hugo project folder (hfaran.github.io\)
This will generate content into the public folder which is a submodule to the hfaran.github.io repository. Commit and push changes in that repository to deploy to hfaran.github.io
Currently using divs that form balls, arranged in a right-angle triangle. We should prettify it by creating some graphic designs and using images instead, then arranging them in the proper equilateral triangle shape.
We should fetch and cache Bootstrap and other scripts currently fetched from CDNs locally on our server, and serve them ourselves. Could set up a periodic callback or something to fetch them, but can also just do it manually.
Need to add settings with all the links the fetch from; default settings can be where we fetch from currently. Then just need to modify the pages to hit the files with static_url.
It would be effective user-feedback to have tooltips appear in the UI for instructions for newcomers. We might also be able to implement them in the Game Page when a ball has been sunk. Tooltips are included in Bootstrap's tooltip.js
Can check if user is logged in by getting self.get_current_user(); if it comes back empty, raise, otherwise, return a 200 telling user they are already logged in.
Add list of rooms to the Join Room Page. If list is empty, we should populate the Join Room Page with a "create room" button that redirects to the Create Room Page.
After authenticating, if a player is not in a game, they will be forwarded to /views/room/join, otherwise if the player is in a game, the player will be forwarded to the current game screen. A "landing page" of sorts can provide the redirection (i.e., just logic in a requesthandler that either redirects to game screen if user is in a game, or room joining screen otherwise)
There is currently no way to exit a game other than to join a new room; there should be an explicit button on the game screen to leave the game and only then will the player be allowed to browse other rooms. (Also, a new route needs to be added that implements leaving the current game for a player)
Should only be present if user is logged in? You can check if the user is logged in by hitting /api/auth/login with a GET request; if you get back a 200, they're logged in, but if it's a 403, they're not (for this to work though, issue #32 must first be completed; additionally, logout route needs to be implemented, #31 ).
The API currently doesn't seem to be letting us call "/api/room/listplayers" from "/room/game". This list should be displayed in the UI, as discussed in the wireframes.
There is a lot of undocumented code in the API; make sure to not only write/update docstrings for functions/methods/classes but also lots of in-line comments (be sure to update those). In-line comments are good!
When in the view /room/lobby, the user has the option to exit from the current room lobby. This action should make the same API call, with logic in the backend to determine if the game should be retired, or if the player should just be removed. This way, the front-end can simply POST this action regardless of the user being an owner or player in the room.