Development

Running the project

For the backend, run KouncilApplication passing parameter bootstrapServers=localhost:9092 pointing to any of your Kafka brokers and spring.config.name=kouncil.

For the frontend, with Node.js and Yarn installed, run yarn and yarn start

For the local Kafka, create docker-compose.yml (KAFKA_ADVERTISED_HOST_NAME should match your Docker host IP)

version: "2"

services:
  kafka:
    image: docker.io/bitnami/kafka:latest
    ports:
      - "9092:9092"
    environment:
      # KRaft settings
      - KAFKA_CFG_NODE_ID=0
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
      # Listeners
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT

run docker-compose up -d

more info: https://hub.docker.com/r/bitnami/kafka/

By default, authentication is set to inmemory. The default users role configuration is described here Authorization. You can modify this to match your needs. For example if you want to assign the editor role to an admin user, you need to add admin-group to the role-editor.

Release

To release, simply push to release branch:

git push origin master:release

after a successful release, remember to merge back into the master:

git merge origin/release

Last updated