Skip to content

Talberon/quest-app

Repository files navigation

Quest App

This app is a handy tool for coming up with rosters for the board game Quest. You can create various loadouts, get some insight into the balance of a particular loadout, and generate randomized loadouts for quick setups.

Access the site on GitHub Pages.

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

Roadmap

  • A visual drag-and-drop draft lineup designer for arbitrary numbers of players
  • A "pick for me" option that takes a number of players and provides the appropriate lineup
  • A "predicted winner" that can be compared to the actual result for analysis
  • Provide brief info on how much information a lineup has for each faction
  • A method of reporting the result of who won with a particular lineup
  • The ability to store these lineups somewhere so we can retrieve them
    • Local Storage
    • Database
  • The ability to share lineups with others
    • Encoded url
  • Generate a tailored pre-game script based on the roles in the roster
    • Play audio as a text-to-speech for that script

About

An app for managing Quest loadouts and other neat things

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published