- There is a standard deck (52 cards of 4 suits: ♣ Clubs, ♦ Diamonds, ♥ Hearts, ♠ Spades).
- Pressing the "Deal" button deals you 5 random cards.
- Within the same game, you never get the same cards again that you got in the past (just like a physical deck).
- There is a card counter which shows how many cards are dealt/left.
- When all the cards have been dealt, Game Over. If no aces are left, Game Over.
- If there is atleast one ace in the last draw, you Win, otherwise You Lose.
- You can disable game sounds using the button in the top-right corner.
- You can disable card animations by enabling the reduce motion setting on your browser/OS.
- React, TypeScript, Tailwind CSS
- framer/motion for managing animations
- joshwcomeau/use-sound: react hook for playing sound effects
- @testing-library/react, @testing-library/react-hooks-testing-library, cypress for unit and e2e tests.
- improve accessibility
- Add more tests