Skip to content

Shivan-997/retro

 
 

Repository files navigation

Retro - Make Retrospectives Great Again

CircleCI (all branches) GitHub release GitHub code style: prettier

Retro is a tool that you can use for your retrospectives. The goal of Retro is to aid teams in remote retrospectives.

demo

Intent

At work, we were using third party retrospective tools, which meant we couldn't express ourselves freely because of privacy reasons. Retro provides an open-source solution, where you can host the app on your own servers, so you can discuss freely again, since you own the data!

Usage Locally

Install Dependencies

$ cd backend && yarn && cd ..
$ cd frontend && yarn && cd ..

Run Servers

$ cd backend && yarn start && cd ..
$ cd frontend && yarn start && cd ..

After starting the servers, visit localhost:3000 to use the app.

Board Data

The board data lives currently inside backend/storage. All boards have an unique ID and are saved as <board_id>.json. The exports are saved as <board_id>.png.

A deployment example with PM2

  • Install PM2 on your server with npm i -g pm2
  • Clone the project (master branch) on your server
  • Install the dependencies by running yarn on both projects
  • Check if the proxy settings are correct
    • Check backend/src/config/config.js
    • Check proxy field on frontend/package.json
    • Check backend path on frontend/src/utils/index.js
  • Provide an .env.production.local file and put it inside of frontend
    # Example
    REACT_APP_PROD_URL=http://mydomain.com
    REACT_APP_PROD_PORT=80
    
  • Build the Frontend by running yarn deploy
    • This command builds the frontend and copies the built files to backend/public
  • Go to the backend folder and run pm2 start processes.json

Contributing

  • This project uses Yarn, Prettier and the latest LTS version of Node.js
  • Test your stuff manually or better, provide tests
  • If you developed a whole user scenario, then please provide E2E tests
  • You can also develop with the provided Docker containers!
    • on Linux, make sure to set an environment variable, since host.docker.internal is not working:
      • export DOCKER_HOST_IP=$(docker network inspect bridge --format='{{(index .IPAM.Config 0).Gateway}}')

Project State

  • You can always watch the current state of the project at Trello

About

make retrospectives great again

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.3%
  • Other 1.7%