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 -d
MongoDB 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 down
Required only if you want to run MongoDB on docker.
Dependencies should be installed automatically during go run
/ go build
.
go mod download
There 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-game
go install
card-game
Server 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 /false cards : 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