The code of the online version of scrumlr.io is located at the v1 branch, since we are currently working on a new implementation of your favorite webapp for collaborative sessions.
Webapp for collaborative online retrospectives hosted on scrumlr.io. Read our 'Welcome' wiki page to learn more about the history and the vision of this tool.
We developed the client with the help of React while our server is implemented in Go.
Checkout the sources.
$ git clone git@github.com:inovex/scrumlr.io.git
$ cd scrumlr.io
-
run the server (backend) with docker
$ docker compose --project-directory server/ --profile build up -d
*If server code has been changed make sure to run it with the
--build
option. -
run the client (frontend)
$ yarn install $ yarn start
The client will become available on http://localhost:3000
Read more on alternative development setups
Start the database and the server in separate processes instead of booting up the whole compose file.
$ docker compose --project-directory server/ up -d database dashboard
$ yarn --cwd server/ install
$ yarn --cwd server/ serve
You can optionally run the server on a local Kubernetes setup for development.
-
Use the Docker daemon for minikube
To make sure our local docker-built images are used for our minikube deployments.
$ eval $(minikube docker-env)
Important note: You have to run eval
$(minikube docker-env)
on each terminal you want to use, since it only sets the environment variables for the current shell session. -
Start your cluster
$ minikube start
Optional: You can increase the available cpu cores and memory size in Docker desktop. The allocated resources can then also be used for minikube (e.g. 4 CPU cores and 8GB of ram):
$ minikube start --cpus 4 --memory 7962
-
Create Nginx Ingress Controller
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml
-
Run our deployment script
The build script will automatically search for all needed docker images, build them if they're missing and the deployment script will deploy all Kubernetes resources afterwards.
$ cd deployment $ sh build.sh $ sh deploy.sh
-
Create a minikube tunnel
The minikube tunnel is needed so that our Ingress can be reached on
127.0.0.1
.$ minikube tunnel
On MacOS and Windows machines you could also use the Docker Desktop application as Kubernetes context.
-
Enable Kubernetes
To enable Kubernetes support and install a standalone instance of Kubernetes running as a Docker container, go to
Docker Desktop > Preferences > Kubernetes
and then clickEnable Kubernetes
. -
Make sure to use the correct Kubernetes context
Ensure that the context is pointing to
docker-desktop
.$ kubectl config get-contexts $ kubectl config use-context docker-desktop
-
Create Nginx Ingress Controller
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml
-
Run our build & deployment script
The build script will automatically search for all needed docker images, build them if they're missing and the deployment script will deploy all Kubernetes resources afterwards.
$ cd deployment $ sh build.sh $ sh deploy.sh
You're very welcome to be part of this project. You can contribute by opening an issue, by
fixing a bug or by adding a feature and open a pull request. Just make sure that the jobs
yarn test
and yarn lint
are passing and that every change is covered by unit tests.
... and many more!
Thanks to all our users, contributors & supporters! ❤️
A special shout-out goes to inovex for all the support and the opportunity to realize this project! 🙌 Contact us if you look for the best IT service provider out there.
Scrumlr is MIT licensed.