Planning poker based on django-channels
- No user management, just type a name and share the url.
- 2 decks: T-shirt sizes & modified fibonacci.
- No special admin roles: every participant can reveal, clear and change the deck.
Local development
- Create a virtual envirionment
- Install the requirements:
pip install -r requirements.txt
- Apply the migrations:
./manage.py migrate
- Start a Redis server for backing storage:
docker run -p 6379:6379 -d redis:5
- Compile the JavaScript files:
npm run dev
- Run the server:
./manage.py runserver
- Navigate to http://localhost:8004/ to start a new session
Running on render.com (free tier)
- Configure a database, wait until it is ready and use "External Database URL"
- Configure a redis instance, use the hostname part of "Internal Redis URL"
- Create a web service from this repository
- Build command:
./build.sh
- Start command:
daphne -b 0.0.0.0 app.asgi:application
- Environment variable:
PRODUCTION
True
- Environment variable:
SECRET_KEY
to a secret value - Environment variable:
PYTHON_VERSION
3.11.2
- Environment variable:
DATABASE_URL
(value from "External Database URL") - Environment variable:
REDIS_HOST
(hostname part from "Internal Redis URL")
- Build command:
Running on regular ubuntu 22.04
sudo apt install redis-server python3.11-venv supervisor
python3.11 -m venv virtualenv
source virtualenv/bin/activate
git clone https://github.com/jieter/planning-poker.git
cd planning-poker
pip install -r requirements.txt
./manage.py migrate
./manage.py collectstatic --no-input
Then use
deploy/supervisor.conf
as a template withsupervisor
to rundaphne
, taking care to add correct environment forSECRET_KEY
HOSTNAME
PRODUCTION=1
deploy/nginx-site.conf
as a template withnginx
to act as a reverse proxy.