An API to handle poker deck and cards.
There are multiple ways to run a MongoDB instance. The preferred way will be to run with Docker.
If you have Docker Desktop installed and started, run below command in your terminal on your root directory.
docker compose up -dMongoDB is ready when you see this in your terminal.
[+] Running 2/2
- Network golang-assignment_net Created 0.0s
- Container golang-assignment-mongo-1 Started
You can shut down MongoDB by running command below.
docker compose downRequired only if you want to run MongoDB on docker.
Dependencies should be installed automatically during go run / go build.
go mod downloadThere are 3 ways to run the application:
go run .go build
# if you are using windows
# Command Prompt
card-game.exe
# powershell
.\card-game.exe
# if you are using linux
./card-gamego install
card-gameServer is exposed on port 8080, please make HTTP requests to this base URL: http://localhost:8080
| Use | Relative endpoint | Local absolute endpoint | HTTP Method | Query supported |
|---|---|---|---|---|
| Create a new deck | /decks |
http://localhost:8080/decks | POST | shuffle: true/falsecards: AD/AD,KH |
| Open a deck | /decks/{DeckID} |
http://localhost:8080/decks/{deckID} | GET | N/A |
| Draw a card | /decks/{DeckID}/cards/count/{count} |
http://localhost:8080/decks/{deckID}/cards/count/{count} | GET | N/A |
*Please substitute {DeckID} with the deck_id you received in the Create a new deck's response body.
*Please substitute {count} with how many cards you want to draw from the deck.
# To run all tests
go test
# If you want to view the status for each job
go test -v