5. Checklist for web app completion¶
Please see the companion section “Checklist for command-line game completion” for the checklist for command-line CTGames games. Both checklists need to be consulted when finalising a CTGames web app.
5.1. Functional issues¶
Web app versions of games
The web app has a good quality tutorial with two examples: a very easy one and a medium difficulty one.
Throughout the running of the web app, no exceptions should be raised in the web browser console window.
In the web app, if a player gets the answer wrong, there appears an appropriate message to explain why it was wrong and what was the correct answer.
5.2. Documentation issues¶
Web app versions of games
The web app Custom round screen (accessed from the Teachers’ Area) has reasonable descriptions for the parameters (edit
cl.py).The web app About… screen (accessed from the Teachers’ Area) has all sections completed.
Each web app graphic has a licence image with the name
image_name - usage terms.pngfor each graphical fileimage_name.svgused in the web app. If you created the graphics from scratch, include a text file saying that and stating that you release the graphics under a CC0 licence or other appropriate licence.
5.3. Code issues¶
Web app versions of games
In
webapp/__init__.py, the name__date__should specify the approximate date the file was last edited.In
webapp/__init__.py, the name__copyright__should match the value of__copyright__inlogic.py(read section “Copyright statements in the template game” for details on what you need to do to allow your games to be used by schoolteachers in a classroom setting).In
webapp/__init__.py, the name__credits__should have your full name preceding Thomas J. Naughton’s name, e.g.['Josephine A. Bloggs', 'Thomas J. Naughton'].You have worked to eliminate as many “warnings” or “code style analysis” errors (yellow triangles in PyCharm) as possible.
There are no unexplained “magic numbers” in the code – all values that might need to be tweaked are constants with names in ALL_CAPITALS near the top of the file or at the top of the function in which they are used.
All constants have a
"""docstring"""immediately below them describing what the constant is for.