Welcome!
This is simple card game for luck and fun. We believe in letting you work with fun and freetime within this game. Don't be addicted to it as you are with your work. 😉
- Node 12+ (tested on 12.3.1)
- Yarn 1+ (tested on 1.16.0)
There are two primary ways we suggest:
- Docker (not tested on Windows, you're on your own)
- Local running
We think it's easier to run using Docker. If you are familiar with Docker and already have it installed, you can skip to the next step. Otherwise, below are some instructions on how to get Docker installed on your system.
Linux
-
Install
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
Verify
sudo docker run hello-world
This should pull the image, run the container, print the message and exit.
-
Add your user to the
docker
groupsudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker run hello-world # now the test should run without sudo
For more information, check the Docker docs.
MacOS
-
Install Docker with brew
brew install --cask docker brew install docker-compose
-
Verify
docker --version
If this does not display the Docker version, you should restart the Docker deamon. You can find it using Spotlight or under the Applications folder.
For more information, check the Docker docs and this guide.
Windows
Docker offers an installer for Windows. Please check the Docker docs and, if you need additional information, this guide from Microsoft. Both guides use WSL 2.
yarn install
# then
yarn start
Your browser will automatically open to http://localhost:3000 by Create React App. Changes should be reflected automatically.
See CRA documentation.
- Assuming a standard deck (52 cards of 4 suits: ♣ Clubs, ♦ Diamonds, ♥ Hearts, ♠ Spades).
- Press a "Deal" button to deal 5 random cards.
- Pressing the button again should deal 5 unique, random cards. Within the same game, you should never get the same cards again that you got in the past (just like a physical deck).
- Card counter shows how many cards are left.
- Ace counter shows how many aces are left.
- There is a button to reset the game.
- When all the aces have been dealt, "Game Over" will be displayed.
- If there is an ace in the last draw and there are no more cards left to deal, you are "Winner", otherwise "You Lose. Better luck next time!" Last draw means the last draw that is allowed, as there could be additional cards left to deal, but no aces.
- Overall architecture and code quality (readability, decoupledness, etc)
- File structure
- Naming (variables, files, etc)
- Cute animations. Wow!
- Fully customizable (e.g. other deck images, other lengths of decks, not just 52 cards)
- Test coverage (see instructions for running tests)
If you are interested in rigging, contact us. 💌
Used Node, Apollo, Prisam, Redis, GraphQL Code Generator, React, TypeScript, and Tailwind.
This code is intended to be private. You are not allowed to share any of the base template code without Dragon's express permission. Please reach out to us before you share any of the code in this repository with others.