Skip to content

ekaputra07/go-retro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

86 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

go-retro

Test Release Go Report Card

Minimalist retro board for happy teams ๐Ÿ˜‰

In version 2, NATS is used as communication and persistence layer to enable horizontal scaling (real-time communication works across multiple instances). If you prefer simpler single-instance setup, you can still use the version 1.

screenshot

What the heck is retro board? The Retrospective Board usually used as a tool during sprint restrospective meeting by a team to carry out a "lessons learned" or "how do you feel?" assessment of the sprint. Usually helds at the end of the sprint period.

This project is heavily inspired by https://www.dragondropcards.com, here I'm trying to replicate the functionalities as much as possible while also adding some cool features that I think would be useful (timer, online users, standup, etc).

๐Ÿ‘‰Try it: https://go-retro.fly.dev

Features

  • Create/Update/Delete board columns
  • Add/Update/Delete cards
  • Move cards to other column
  • See number of online users
  • A timer to allow users fill-in the board with cards within a specified time limit
  • React to a card (thumbs up or emoji?)
  • Display user name on who's online list
  • Standup feature (shuffle users and display who's turn to speak)
  • Persistence layer, powered by NATS KV (expires after 24 hours)
  • Group similar cards

Development

Therefore during development, you need to have a NATS server running locally.

  1. Install dependencies

    # install both backend and frontend dependencies
    make setup
  2. Run the app with Docker compose

    # starts both NATS server and the app
    make compose

Docker images

# version 2
docker pull ekaputra07/goretro:latest
docker pull ekaputra07/goretro:2.x.x

# version 1
docker pull ekaputra07/goretro:1.0.0

Credits

As I'm not a UI guy, I steal and modify the board HTML from https://github.com/mithicher/tasksgram by @mithicher which perfectly suite my needs for a clean design powered by AlpineJS and Tailwind CSS.