Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 2.93 KB

README.md

File metadata and controls

70 lines (53 loc) · 2.93 KB

Planning poker (https://en.wikipedia.org/wiki/Planning_poker), is a consensus-based, gamified technique for estimating, mostly used to estimate effort or relative size of development goals in software development.


Overview

Application consists of two separate components UI (written in React) and Backend implementation in Python. The following frameworks and libraries form the base:

Install

Using Docker

Copy existing example of config for frontend:

  $ cp frontend/.env.local.example frontend/.env.local 

Ensure that your have required ports: 3000 (UI), 8000 (backend), 5432 (Postgres), 6379 (Redis) not being used by any other running applications. Start local development environment using docker-compose

  $ docker-compose up

Compose will run in a foreground mode placing all the logs from the running containers in the shell. It could be run in a background mode

  $ docker-compose up -d 

Use docker-compose ps to check the status of running containers:

$ docker-compose ps 
        Name                      Command               State               Ports             
----------------------------------------------------------------------------------------------
plan-cards_backend_1   /start-reload.sh                 Up      80/tcp, 0.0.0.0:8000->8000/tcp
plan-cards_db_1        docker-entrypoint.sh postgres    Up      127.0.0.1:5432->5432/tcp      
plan-cards_redis_1     docker-entrypoint.sh redis ...   Up      6379/tcp                      
plan-cards_web_1       docker-entrypoint.sh npm start   Up      0.0.0.0:3000->3000/tcp  

Open http://localhost:3000 to make sure that UI is rendering properly and http://localhost:8000/docs/ to check swagger documentation of the APIs.

Screenshots

UI of game details with a few cast votes for the tasks. Game details

API documentation generated with FastAPI API docs

TODO

  • Finalise testing of the backend and frontend parts focusing on testing websockets communication
  • Implement features of explicit joining for the game as a player
  • Set voting time boundaries for each task in the game
  • Add explicit authentication backend