Codebase
Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.
Getting Started Commands
Project Structure
Below is a short description of the key directories of the project to aid you when understanding where key files are located.
audience-app/ - This directory contains the files for the audience-facing part of the application. It includes HTML files for different pages, static assets like images, and configuration files for Firebase and npm.
audience-app/database.lockdown.json, audience-app/database.rules.json, audience-app/database.template.json, audience-app/firebase.json, audience-app/firebase.lockdown.json - Configuration files for Firebase, including database rules, templates, and lockdown settings.
audience-app/package-lock.json, audience-app/package.json - npm package management files, including dependencies and scripts.
audience-app/public/ - This subdirectory holds the publicly accessible files of the audience app. It includes HTML files for specific pages, images, and other static assets.
audience-app/public/404.html - The HTML file for the error page when a requested resource is not found.
audience-app/public/admin.html - An HTML file for an admin or dashboard page, likely used for managing the game show.
audience-app/public/index.html - The main HTML file for the audience app's home page.
audience-app/README.md - A text file with information about the audience app, such as its purpose, installation instructions, and usage.
presenter-app/ - This directory contains the files for the presenter-facing part of the application. It includes source code, static assets, and configuration files.
presenter-app/build/ - This subdirectory holds the compiled and bundled files for the presenter app. It includes HTML, CSS, JavaScript, and image files.
presenter-app/build/index.html - The main HTML file for the presenter app.
presenter-app/build/manifest.json - A file that lists all the assets in the build directory and their corresponding filenames.
presenter-app/build/sw.js - The service worker file for the presenter app.
presenter-app/package-lock.json, presenter-app/package.json - npm package management files, including dependencies and scripts.
presenter-app/preact.config.js - A configuration file for Preact, a fast and lightweight alternative to React.
presenter-app/size-plugin.json, presenter-app/tsconfig.json - Configuration files for Preact and TypeScript, respectively.
presenter-app/src/ - This subdirectory contains the source code for the presenter app. It includes components, controllers, routes, styles, and utility functions.
presenter-app/src/app.tsx - The main component for the presenter app.
presenter-app/src/declaration.d.ts - A TypeScript declaration file.
presenter-app/src/index.ts - The entry point for the presenter app's TypeScript code.
presenter-app/src/manifest.json - A file that lists the app's name, description, and other metadata.
presenter-app/tests/ - This subdirectory contains test files for the presenter app. It includes mocks, controllers, and declarations.
presenter-app/tests/declarations.d.ts - A TypeScript declaration file for tests.
Entrypoints
Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.
index.ts - This file is the entrypoint for the TypeScript codebase in the "/github.com/trackjs/javascript-gameshow/" project. It sets up the TypeScript compiler configuration and imports the necessary modules to run the application. It also initializes the main game show logic and starts the application when the DOM is fully loaded.
main.js - This file is the entrypoint for the JavaScript codebase in the "/github.com/trackjs/javascript-gameshow/" project. It contains the main logic for running the game show application, including setting up the HTML and CSS, handling user interactions, and managing the game flow.