Skip to content

Latest commit

 

History

History
107 lines (102 loc) · 5.26 KB

README.md

File metadata and controls

107 lines (102 loc) · 5.26 KB

Tarock Sheet

An awesome app to help track a Tarock game scores.

Roadmap

  • [.] Milesteone 1 - Local storage, correct scores, Player handling,UI improvements

    • [.] refactor
      • Tarock sheet: move handler's logic to data layer, if possible
      • contract better calculation of the bid base score
      • game, contract: simplify create and update methods with same parameter set
      • refactor can silent, do not leak bids details to contract layer
        • Add canSilent method to contract too.
        • refactor ContractsTable to use the new can silent contracts.
      • add license, contribution, proper readme
      • increase test coverage
      • also clear the base scores too when resetting the scores
      • correct missing key prop in Players.tsx, and other warnings in console
  • Milestone 2, store in a permanent storage, share a game

    • add validators and defaults to models
    • implement error handling and showing to the user
    • Set and save the mayor state
    • Save the DateTime to the Game
    • save the details of the previous games [ ] add random colors to player avatars
    • do some authentication / login / firebase
    • save the game to a DB e.g. Firebase
    • deploy the app to heroku / netlify / vercel / Firebase
    • share the game with others
    • Sign which player is the mayor in player list, sign it in scores too.
  • Milestone 3, mobile friendly, UX improvements

    • add UI tests

    • refactor

      • TarockSheet extract a Game component from the tarock sheet
      • split contractSelector to smaller components
      • split ContractsTable to smaller components
    • refactor

      • better type checking for dynamic types in Contracts table
    • usability

      • Add default players if empty
      • Game Properties: show score near the game score selector radio buttons
      • BidSelector: show the score near the bids
    • compact Contract Table

      • collapse fields
      • compact view
      • row styling based on validInFinalScore
      • Tarock sheet: better Win by taker UI component, e.g: a button
      • show the declarers and opponents scores around the contract table
      • ContractsTable: show the the contra names instead of the values
      • ContractsTable: integrate bid variant into the bid column
      • Variant selector: show icons near the variants
        • Contracts Table: show variants icons'
    • responsive design check

  • Milestone 4, better game saving and history

    • show each game scroes as a table (collapsable)
    • save multiple nights
    • edit the previous games scores
    • add undo & redo (?)
    • add hotkeys
  • Milestone 5

    • customizing the bids, create general rules
    • multilanguage
  • Done

    • [.] Milestone 1
      • [.] refactor
        • rename the components and methods, create a consistent Model interface.
      • create a better app icon and align the icon in the app bar
        • add a better favicon
        • add a better logo for manifest
      • add confirmations to destroy / reset type of actions
      • do not delete the contracts, if the previous party score type was party or contracts are already added
      • show the contracts and the selector only if, the party is selected
      • Indicate Game winner (Radli) on players
      • ContractTable: when a contract silent, show visually that the contra does not take into account.
      • ContractTable: if a contract is silent, it should not able to apply a contra on it,
      • correct pheasants' score to 20
      • save the games locally and clear logic
      • generalize button colors and variants
      • rename BidSelector to ContractSelector
      • correct scores: king uhu 20, centrum 10, small bird 10, large bird 10
      • save only the scores if they are available
      • Better player and scores handling, create one component
      • correct klopiczky and self calling calulation
      • correct new contracts added as loose by taker instead of unknown
      • add a party base score
      • add title for the app, fill metadata in manifest.json + index.html
      • switch off the silent and win, if the party is reset-ed
      • save the scores only if the proper number of players selected
      • when klopitzky game ticked, add klopiczky contract, remove others
      • when party game ticked add party automatically
      • refactor game handling: remove validation rules, and validInFinalScore props, use winByTaker null instead and make it manually
      • handle multiple games, score sheet
      • Faster bid adding
        • group the bids
        • disable the dialog when adding: add contracts default by taker, null variant, it can be changed in the contracts table
        • make a global silent switch, it adds bids silently, and automatically win, except ulti
        • ContractsTable: automatically won by the eight and nine tarock, klopiczky
      • disable contra for eight, nine tarock
    • MVP
      • Add player handling
      • Calculate score
      • ContractsTable, actions
      • TarockSheet: Add game properties
      • Recalculate scores, when a party type changes
      • Deploy to github pages, w github actions