A hassle-free Planning Poker application to deploy on your NAS.
This application is intended as a simplified and self-hostable alternative to Planning Poker Online.
It features:
- Multiple deck types: Fibonacci, modified Fibonacci, T-Shirt sizes, powers of 2 and trust vote (0 to 5)
- Spectator mode
- Responsive layout
- Vote summary
- Translations (English, French, German, Italian and Polish. Contributions welcome!)
It does not have fancy features like issues management, Jira integration or timers.
Deploying the application is easy as it's self-contained in a single container. All you need is to create a volume to persist the games settings (ID, name and deck).
docker run \
-v planning-poker-data:/data \
-p 8000:8000 \
axeleroy/self-host-planning-poker:latest
version: "3"
services:
planning-poker:
image: axeleroy/self-host-planning-poker:latest
ports:
- 8000:8000
volumes:
- planning-poker-data:/data
volumes:
planning-poker-data: {}
Variable | Meaning | Example |
---|---|---|
APP_ROOT (optional) |
Allows you to deploy to another path than / .See Configuration examples for deploying on sub‐paths for more details. |
APP_ROOT=/poker/ |
Refer to Socket.IO's documentation for setting up your reverse-proxy to work correctly with Socket.IO.
See Customizing the application's style and icon.
You are welcome to open Pull Requests resolving issues in the Project or tagged pr-welcome. Don't forget to mention the issue you want to close 😉
Open an issue and I'll take a look at it.
There is a Crowdin project that lets you add translations for your language. If your language is not available, feel free to contact me over Crowdin.
The app consists of two parts:
- a back-end written in Python with Flask, Flask-SocketIO and peewee.
- a front-end written with Angular and Socket.IO.
You must first initialise a virtual environment and install the dependencies
# Run the following commands in the flask/ folder
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt
Then launching the development server is as easy as that:
FLASK_DEBUG=1 python app.py
After initalizing the virtual environment, run this command in the flask/
directory:
python -m unittest
Note: You might want to test the front-end against a back-end. You can either follow the instructions in the previous section to install and run it locally or use the following command to run it in a Docker container:
docker run --rm -it \ -v $(pwd)/flask:/app \ -p 5000:5000 \ python:3.11-slim \ bash -c "cd /app; pip install -r requirements.txt; FLASK_DEBUG=1 gunicorn --worker-class eventlet -w 1 app:app --bind 0.0.0.0:5000"
First make sure that Node.js (preferably LTS) is installed. Then, install dependencies and launch the development server
# Run the following commands in the angular/ folder
npm install
npm start
# After checking out the project
docker build . -t axeleroy/self-host-planning-poker:custom
# Alternatively, if you don't want to checkout the project
docker build https://github.com/axeleroy/self-host-planning-poker -t axeleroy/self-host-planning-poker:custom