Skip to content

i-Cell-Mobilsoft-Open-Source/ticker-backend

Repository files navigation

Ticker Module

General

Compile status Maven central version of Parent pom project License of Parent pom project Use JakartaEE project Commits Supported JVMs GitHub Repo Stars

The goal of this project is to provide a modular solution for triggering processes via cron scheduling by calling specific API endpoints.

Development

During development, using a mock service is recommended if the goal is to develop REST calls. To do this, start the mock-service from the available docker-compose configurations. Additionally, when running maven clean install, the application should be built using the add-mockapi profile to include the MicroProfile REST client API.

Testing

There are two ways to perform testing.

A sub-project under ticker-testsuite is created, which is as independent as possible from the main project. It does not depend on the project itself but only utilizes the API part.

Developer tests - ticker-testsuite

<PROJECT_PATH>/ticker-testsuite

The developer tests use the Roaster project. This is a completely standalone REST testing tool that performs external calls on the deployed application. It can be executed directly through the developer UI (JUnit plugin) or via Maven (activating the "profile" switch), for example:

cd local_path/ticker/ticker-testsuite/ticker-testsuite-sample/ticker-testsuite-sample-service
mvn verify -Dprofile (1)
mvn verify -Dprofile=sandbox,local (2)
  1. default parameters

  2. selected profiles from configuration files

Release

The release process is automated and is executed using GitHub Actions. For this, docker-compose and a Docker image are available.

/ticker/etc/release/Dockerfile

The release process consists of three main steps:

  1. Base image, which in this case is a Java 17 image

  2. Downloading the JAR file - retrieving the desired deployment file from Nexus

  3. Finalizing the Docker image - copying the JAR files, etc.

/ticker-backend/etc/release/docker-compose.yml

This file sets up the service variables and manages them together.

Execution

Execution is done manually via GitHub Actions.

About

Ticker - Scheduler module, perform periodic operations based on configuration - powered By Quarkus 3+

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 7