Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/romanthekat/planning-poker

Simplistic scrum planning poker application
https://github.com/romanthekat/planning-poker

golang scrum scrum-poker vuejs

Last synced: 14 days ago
JSON representation

Simplistic scrum planning poker application

Awesome Lists containing this project

README

        

= planning-poker

image::docs/main.png[]

This is simplistic scrum planning poker application.
It keeps all data in memory, and expire it after period of inactivity.

Currently, consists of `backend` part (golang).

== build
=== backend
`go build ./cmd/web`

==== docker
`docker build -t planning-poker ./ && docker run --rm -p 10080:10080 --name planning-poker -t planning-poker`

=== frontend
Deprecated and removed, see https://github.com/ParallelLines/planning-poker instead.

== endpoints

[source]
----
# create session
POST localhost:10080/api/sessions

{
"id": 1234,
"votes_info": [],
"votes_hidden": true,
}
----

[source]
----
# check if session exists
GET localhost:10080/api/sessions/SESSION_ID

http code 204 or 404
----

[source]
----
# join session
POST localhost:10080/api/sessions/SESSION_ID/join
Content-Type: application/json
{
"name": "Roman"
}

{
"id": 1234,
"name": "Roman",
"last_active": "2023-03-22T20:29:50.403844814Z",
"active": true
}
----

[source]
----
# establish websocket connection
# ugly url due to workaround for std mux
GET localhost:10080/api/sessions/SESSION_ID/get/USER_ID

## votes hidden
{"id":1234,"votes_info":[{"name":"Not Roman","is_voted":true,"vote":5,"is_current_user":false},{"name":"Roman","is_voted":false,"vote":null,"is_current_user":true}],"votes_hidden":true}

## votes shown/session data visible
{"id":1234,"votes_info":[{"name":"Not Roman","is_voted":true,"vote":5,"is_current_user":false},{"name":"Roman","is_voted":true,"vote":5,"is_current_user":true}],"votes_hidden":false}
----

[source]
----
POST localhost:10080/api/sessions/SESSION_ID/vote
Content-Type: application/json
{
"user_id": USER_ID,
"vote": 8
}
----

[source]
----
POST localhost:10080/api/sessions/SESSION_ID/clear
----

[source]
----
POST localhost:10080/api/sessions/SESSION_ID/show
----