"Doppelkopf" card game - in your browser
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend
ci
frontend
.dockerignore
.editorconfig
.env.sample
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
Pipfile
Pipfile.lock
README.md
docker-compose.yml
pytest.ini

README.md

Doppelkopf

Build Status

An in-browser implementation of the traditional German Doppelkopf card game.

Live Demo

The game is still in early stages. Playing it will probably be a frustrating and confusing experience. If you're curious enough to give it a try (and play against a really shitty AI), I encourage you to do so:

Try the Live Demo

Development

This game is implemented using ES2017. The source code is transpiled using Babel and bundled and loaded with Webpack. The frontend is written in vue.js.

The backend part is written in Python and using the Flask microframework.

Getting Started

Install frontend and backend dependencies:

$ yarn install
$ pipenv install --dev

To serve the frontend as a standalone application, run

$ yarn serve

To start the backend, run

$ make run

Run Tests

Tests for both, frontend and backend, are included in the test directory. Backend tests are implemented with pytest, frontend tests with Jest.

To run the frontend tests, use

$ yarn test:unit
$ yarn test:e2e

Backend tests can be run with

$ make unit

Storybook

The application uses storybook.js to showcase all vue.js components in different states. You can use the storybook to take a look at components and use it as a visual test case. It's great for getting fast feedback when designing components.

For new components, add a new story to src/stories.

You can view the storybook by running

$ yarn storybook

and then pointing your browser to localhost:6006

More Helpful Commands

Build the frontend application for production, with minification:

$ yarn build

Build for production and view the bundle analyzer report

$ yarn build --report