Skip to content

abondar24/WebScrumBoard

Repository files navigation

WebScrumBoard

Build Status Coverage Status License versionspringboot versionjava versionvuejs versionvuecli versionnodejs versionwebpack versionaxios

Idea

It is a small app for working with project in Scrum manner. Users can create projects,sprints and tasks to them. Users can have one or serveral roles from the list:

  • Developer
  • QA
  • Dev Ops

What has been used

Backend

  • Spring Boot 2
  • Mybatis
  • Apache CXF
  • Apache Camel
  • FlyWay
  • Postgres 9.6

Frontend

  • VueJS 2
  • Bootstrap Vue

Build and Run

Local

mvn clean install
 
mvn -f server/pom.xml spring-boot:run

or 

mvn -f server/pom.xml java -jar server-<ver>.jar

Access via localhost:8024

Docker-Compose

mvn clean install

mvn -f server/pom.xml clean install -DskipTests -Pdocker

docker-compose up

NOTE: docker image with nginx must be used. In directory web_server dockerfile and config files are stored.

By default image abondar/wsb-srv is used. For your own image replace in docker-compose.yaml

In web_server dir

docker build . -t <image tag>

Access via localhost:8024

Kubernetes

The app was tested in with microk8s on ubuntu.

kubectl apply -f pods/db.yml
kubectl apply -f pods/email-service.yml

mvn clean install
 
mvn -f server/pom.xml clean install -DskipTests -Pkube
kubectl expose deployment server --type=LoadBalancer --name=server --port=8024
kubectl apply -f pods/ingress.yml

Access via localhost/board

Note 1: jKube plugin works with kubectl. How to use kubectl with microk8s check here

Note 2: In microk8s used default nginx-ingress controler in cloud nginxinx/kubernetes-ingress controller is suggested for usage. In ingress.yaml host must be set.

Note3: There is a wierd issue with server service after restarting the cluster. Check the steps to restart the server app

kubectl delete service server
kubectl rollout restart deployment server
kubectl expose deployment server --type=LoadBalancer --name=server --port=8024

Note4: Grafana and loki setup check here

PS: frontend is very bad and contains some bugs