Skip to content

jalgoarena/JAlgoArena-Events

Repository files navigation

JAlgoArena Events Build Status codecov GitHub release

JAlgoArena Events microservice to publish Events via WebSocket STOMP messages

Introduction

  • JAlgoArena Events is responsible for collecting from Kafka events and publishing them via via WebSocket API

Component Diagram

WS API

Endpoint Description
WS/SockJS [/events-websocket] WebSocket endpoint, uses SockJS/WS
[/topic/events] Topic to subscribe for events

Stomp Events

  • refresh ranking
  • refresh user submissions

Components

Continuous Delivery

  • initially, developer push his changes to GitHub
  • in next stage, GitHub notifies Travis CI about changes
  • Travis CI runs whole continuous integration flow, running compilation, tests and generating reports
  • coverage report is sent to Codecov

Infrastructure

Running locally

There are two ways to run it - from sources or from binaries.

  • default port: 5005

Running from binaries

  • go to releases page and download last app package (JAlgoArena-Events-[version_number].zip)
  • after unpacking it, go to folder and run ./run.sh (to make it runnable, invoke command chmod +x run.sh)
  • you can modify port in run.sh script, depending on your infrastructure settings. The script itself can be found in here: run.sh

Running from sources

  • run git clone https://github.com/spolnik/JAlgoArena-Events to clone locally the sources
  • now, you can build project with command ./gradlew clean stage which will create runnable jar package with app sources. Next, run java -jar build/libs/jalgoarena-events-*.jar which will start application
  • there is second way to run app with Gradle. Instead of running above, you can just run ./gradlew clean bootRun

Notes

Component Diagram