Skip to content

About

Type Draw Type Game

Resources

Stars

7 stars

Watchers

1 watching

Forks

Repository files navigation

Type Draw Type Game

Build & Publish Docker images

Type Draw Type Logo

Type Draw Type is a lively party game that combines creativity and laughter, perfect for you and your friends. Think of it as a twist on the classic telephone game, but with drawings!

Here's how it works: Each player starts by writing a sentence. That sentence is then passed to the next player, who must illustrate it. The drawing is then passed on, and the next player describes it with a new sentence - without knowing the original! This cycle of typing and drawing continues until everyone has contributed to every "story".

At the end, you'll unveil the hilarious transformations of each story and marvel at how wildly things can change along the way. Simple, surprising, and endlessly fun!

Play online at: https://draw.czedik.at

This is an open-source Web/mobile version of the pen-and-paper game Telephone Pictionary (also known as Paper Telephone and "Eat Poop You Cat"). It can be installed on mobile phones (Android and iPhone) by using the "Add to Home Screen" functionality.

Alternative versions of the game are: Drawception, Interference, Doodle Or Die, Broken Picturephone, Drawphone, Gartic Phone, Telestrations, Cranium Scribblish, Stille Post extrem, Scrawl (offline Board games).

Installation on own server

Prerequisites:

Pull the newest image from Docker Hub and tag it with a simpler name:

docker pull bronkoknorb/type-draw-type-game && \
docker tag bronkoknorb/type-draw-type-game tdt-game

To run the Docker image (forwarding the internal port 8080 to the external port 8081):

docker run -p 8081:8080 --volume ~/tdt-data:/tdt-data tdt-game

Note that ~/tdt-data is a directory on the host where game data will be stored.

You can then open the game on http://localhost:8081/

To run the Docker image (in the background) and do automatic restarts (e.g. when the machine gets rebooted or the application crashed):

docker stop tdt
docker rm tdt
docker run -d --restart always --name tdt -p 8081:8080 --volume ~/tdt-data:/tdt-data tdt-game

To check the logs of the running Docker container:

docker logs tdt

Development

Backend Server

The Backend is developed using Spring Boot in Java and built with Gradle.

Prerequisites:

  • Install Java (tested with JDK version 21)

Run the server in development mode:

cd tdt-server
./gradlew bootRun

To get live-reloads on changes, run in a second terminal:

./gradlew build --continuous

See also tdt-server/README-server.md.

Frontend Web App

The Frontend is a React App written in Typescript and built with yarn.

Prerequisites:

Run the frontend in development mode:

cd tdt-webapp
yarn
yarn run dev

This will also automatically start a proxy server which forwards API requests to the backend (running on port 8080).

See also README-webapp.md.

Build

To build the app using Docker:

./build-prod.sh

Multi-Architecture Build

I want to build ARM Docker images to run on my Raspberry Pi:

This repository contains a Github Action Workflow which builds the multi-arch images and pushes them to a Docker registry, see docker-image.yml.

To achieve the same locally follow the instructions at: https://docs.docker.com/build/building/multi-platform/

Then run this to build and push multi-architecture images:

./build-prod-multi-arch-push.sh

Note: This will also try to push the built images to Docker Hub. You need to login first (docker login).

Author

Copyright by Hermann Czedik-Eysenberg
git-dev@hermann.czedik.net

License: GNU AFFERO GENERAL PUBLIC LICENSE

About

Type Draw Type Game

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages