Skip to content

🎲The 10x10 challenge encourages board-game enthusiasts to explore the games in their collection, rather than chasing the novelty of new games (more info: https://bit.ly/3P5nRfA). This simple python 🐍 app is designed to help users track their progress in the challenge. It was submitted as my third milestone project for my diploma with Code Institute

Notifications You must be signed in to change notification settings

Cillian-G/10x10_Challenge_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a228b6a · Jan 31, 2022

History

27 Commits
Jan 23, 2022
Jan 23, 2022
Jan 31, 2022
Jan 23, 2022
Jan 23, 2022
Jan 23, 2022
Jan 23, 2022
Jan 31, 2022
Jan 23, 2022
Jan 31, 2022
Jan 31, 2022
Jan 23, 2022
Jan 23, 2022
Jan 24, 2022
Jan 31, 2022

Repository files navigation

10x10 Challenge Tracker

The 10x10 Challenge Tracker is a tool designed to assist users in keeping track of their 10x10 challenge. The 10x10 Challenge is a self imposed challenge undertaken by hobby board-game enthusiasts. The purpose of the challenge is to encourage players to explore the strategic depth of games in their collections, rather than swapping out old games for new ones after a handful of plays. The challenge consists of choosing 10 of lesser-played games from one’s collection, and playing these games 10 times each. am i responsive screenshot

User Stories

  • I want to be able to log the games that I play while partaking in this challenge
  • I want to have access to an overview of my progress through the challenge
  • I want to be able to access the data I have entered.

UX

  • The Challenge tracker was designed so that after interacting with each “function” of the tool, the user would be directed back to the welcome menu where they would only be one input away from the next function they wished to use.
  • This design mean that once users had finished inputting data, or viewing the different types of overviews, the instructions as to how to return to the menu only took up one line of the terminal, rather than the 3 or 4 lines that would have been necessary to present the user with all of the available and relevant functions. This decision was made to avoid unnecessary clutter on the terminal, which was especially important on the challenge overview page, where it is important that the complete overview can be viewed in the terminal without scrolling. terminal filled with overview graphs

Flowchart

Prototype Flowchart

Pictured above is the protoype/wireframe flowchart

Features

Sheets

game type sheet

The foundation of the 10x10 Challenge Tracker is a google sheets spreadsheet, which is where the data logged by the user is stored. The game_type sheet stores the titles of each game, the titles of their corresponding worksheets, as well as an entry for their game type, which will determine whether or not they are treated as a score-based game by the program.

game1 sheet

Each game will have its own worksheet where details of logged plays will be recorded. These sheets can be edited by the user to allow them to replace the placeholder titles with the titles of the games they wish to undertake the challenge with.

Welcome menu

welcome menu

Upon running the program the user will be presented with the ‘welcome menu’. The header of the menu contains a brief summary of the tool’s purpose. Below the header, there is a list of four options as to how the user may proceed, each with a corresponding number. The user is instructed to choose one of these options by entering its number.

menu validation

If the user inputs anything other than the listed numbers, the program will inform them of this error and request that they enter a valid input.

Overview

overview graphs

If the user selects the first option in the welcome menu, which reads ‘To see an overview of your progress in the challenge, enter 1’, the program will generate a graph of their progress in the challenge. Each game of the ten they have chosen will have a progress graph printed beneath its name, as well as a numerical ‘counter’. The solid blocks on the graph represent logged plays of a given game, while the shaded blocks represent how many plays remain before the challenge is complete.

game completed

When all 10 games have been played, the numerical counter will change from ‘9/10 games played’ to ‘10/10 games played - Game completed!’. If the user logs any further plays of this game, the progress graph and counter will not reflect these changes, as the tool is designed for tracking progress across this challenge specifically.

overview hundreds counter

Below the 10th and final graph in this overview there is another numerical counter which tracks the user’s overall progress through the challenge.

Logging a game

game selection menu

The second option in the welcome initiates the process for logging a ‘play’ or session of a given game in that games associated google sheet. The user will first be requested to select the game they wish to log a play of from a list of the 10 games chosen for the challenge.

duration input request

Users will first be requested to enter the duration of their game in minutes. This process will only accept integers that are greater than or equal to 10, and less than or equal to 500, as values outside of this range suggest that the game in question isn’t compatible with the purpose of the challenge.

score input request

If the game is assigned the game type of score_based in the game_type sheet created by the user, then the user will be requested to enter a winning score when logging a play of this game. The validation for this input only requires the winning score to be an integer value, as many games feature very low scores, or even negative scoring.

description input request with validation message

The user will then be requested to enter a brief description of the result of the game they played. This is important as not all games have a score-based single-winner outcome. Allowing users to enter a description of their session allows them to capture the important details about the game. This input will only accept between 10 and 60 characters, as values below this range are unlikely to be usefully descriptive, and values above this range make the viewing of session logs more cluttered and difficult to read.

input summary screen

The details entered by the user are summarised once this process is complete. The user is then presented with an updated progress graph for the game in question, as well as a prompt to return to the welcome menu. It should be noted that players may log plays after completing 10 plays of a given game, however these plays will not be reflected in the graphs, counters, or statistics generated by the program

Detailed Data

detailed game data printout

The third option in the welcome menu allows the user to see detailed data about a their plays of a single game. They are first prompted to choose a game from their list, just as when inputting data. Upon choosing a game, the user is presented with a printout containing formatted data from the plays they have logged of that game, up to their 10th play. This printout will only list a “score” if the selected game is of the score_based ‘type’.

Guide

guide printout

The final option presented to the player in the welcome menu is the guide. This guide offers a simple summary of the functions of the 10x10 Challenge Tracker

Technologies Used

  • This program was written in Python.
  • The IDE used was Gitpod.
  • Flowcharts were created using LucidChart.
  • Heroku was used for deployment.
  • GoogleSheets was used as a rudimentary database.
  • GoogleAPI was used to interface with GoogleSheets.

Testing

See TESTING.MD for testing details.

Deployment

See DEPLOYMENT.md for deployment details

Credits

Acknowledgements

Many thanks to my Code Institute mentor Tim who suggested helpful resources, and gave me much useful advice regarding this project.

About

🎲The 10x10 challenge encourages board-game enthusiasts to explore the games in their collection, rather than chasing the novelty of new games (more info: https://bit.ly/3P5nRfA). This simple python 🐍 app is designed to help users track their progress in the challenge. It was submitted as my third milestone project for my diploma with Code Institute

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published