Introduction to javascript-gameshow - trackjs/javascript-gameshow

Introduction to javascript-gameshow

The javascript-gameshow project is a Firebase and Preact-based game show application. It is designed to be a fun and interactive way to learn JavaScript. The project uses several key technologies and dependencies, including Preact, React, Preact Router, Luxon, TypeScript, Jest, Enzyme, Firebase, Webpack, and Sass.

Online Documentation

Code Documentation

The giveaway.tsx file is a component that displays a giveaway page for the game show application. It includes a logo, a button to return to the home page, and a button to show a question. When the question is shown, it displays the question and an answer form. When the answer is submitted, it displays the result of the answer and a button to show the next question.

The gameDetails.tsx file is a component that displays the details of a game, including the prizes that have been won and the remaining prizes in the prize stack. It includes a logo, a button to return to the home page, and buttons to show the prizes and remaining prizes.

The gameDetails.scss file is a Sass file that styles the gameDetails component.

The .firebaserc file is a configuration file for Firebase.

The package.json file is a configuration file for npm. It includes information about the project, such as the dependencies and scripts.

The README.md file is a markdown file that provides information about the project, such as the CLI commands and database rules.

The prizeStack.tsx file is a component that displays the prize stack for a game. It includes a logo, a button to return to the home page, and a list of prizes.

The questionDetails.tsx file is a component that displays the details of a question, including the prize to be won and the life lines. It includes a logo, a button to return to the home page, and buttons to show the question and finish the game.

Possible Options

The giveaway.tsx component has several options that can be used to customize its behavior. These options include:

  • question: This option is used to specify the question to be shown.
  • prize: This option is used to specify the prize to be shown.

The gameDetails.tsx component has several options that can be used to customize its behavior. These options include:

  • game: This option is used to specify the game to be displayed.
  • showPrizes: This option is used to specify whether the prizes should be shown.
  • showRemaining: This option is used to specify whether the remaining prizes should be shown.

The questionDetails.tsx component has several options that can be used to customize its behavior. These options include:

  • game: This option is used to specify the game to be displayed.
  • question: This option is used to specify the question to be displayed.
  • questionAsked: This option is used to specify the question that has been asked.
  • questionIdx: This option is used to specify the index of the question to be displayed.

Examples

Here are some examples of how the components can be used:

Giveaway Component

<Giveaway question={question} prize={prize} />

Game Details Component

<GameDetails game={game} showPrizes={true} showRemaining={true} />

Question Details Component

<QuestionDetails game={game} question={question} questionAsked={questionAsked} questionIdx={questionIdx} />

Conclusion

The javascript-gameshow project is a Firebase and Preact-based game show application that uses several key technologies and dependencies. The project includes several components, such as giveaway, gameDetails, and questionDetails, that can be used to create a fun and interactive game show experience. These components can be customized using various options, such as question, prize, game, showPrizes, showRemaining, and questionAsked. The project also includes documentation, such as the README.md file, that provides information about the project and how to use it.