Cards Amusing Humanity (Presentation)
Single-player "Cards Against Humanity" game.
Player is presented with a board containing a question card (black) and a number of answer cards (white). They pick which answer card is the funniest match with the question. After making a pick, the player is shown a similarity score which is determined by historical results from what other players have answered to a similar board of cards.
All top level directories contain the source code for an individual, independent service. Each service directory contains a Dockerfile
which describes how the source code is packaged. Each directory also contains a kubernetes manifest (manifest.yaml
) to configure how the image is deployed and what external services it needs (ex. databases).
Requirements
Tool | Version | Reason | Install |
---|---|---|---|
docker |
>= v18.3.1 |
Build container images | docker.com |
kubectl |
>= v1.13.5 |
Interact with the kube api | kubernetes.io |
minikube |
>= v0.34.1 |
Run kubernetes cluster locally | kubernetes.io |
skaffold |
>= v0.25.0 |
Live build/deploy to cluster | skaffold.dev |
Create local cluster
minikube start
This step can be skipped if your kubeconfig
is already configured to access the desired cluster.
Deploy application
skaffold dev
Note that this command might take some time to start showing application logs because it needs to pull container images.
Some features will not work until all pods are ready. This can be checked using kubectl get pods
or when there are no more error logs from the regular health checks.
Open website (Optional)
minikube service website
This will open the website in your default browser.
Requirements
Tool | Version | Reason | Install |
---|---|---|---|
pipenv |
>= v2018.11.26 |
Python dependency management | pipenv.readthedocs.io |
node/npm |
>= v11.10.0 |
JavaScript dependency management | nodejs.org |
Run tests
./test
This will go through each service directory to install dependencies, and run the tests.
Script will exit immediately if any command exits with a non-zero code.
Service APIs are described using the OpenAPI Specification.
Analytics | Cards | Gateway | Signing | Website |
---|
These documents can be visualized using the Swagger Editor.
Name | Student ID | Username | Responsibilities | |
---|---|---|---|---|
Charles Hardy | [email protected] | 27417888 | Winterhart |
|
Gabriel Harel | [email protected] | 40006459 | g-harel |
|