Valtimo backend implementation template

Overview

Valtimo-backend-implementation-template

Requirements

  • Ensure docker desktop is installed and running.

Configure steps to take after templating

Adjust Gradle properties file

Adjust the projectName to a global name for the project. Don't focus on the first bpmn process name for example but rather take your time and find an overarching name. Here you can also control the main libraries for Spring/Kotlin/Valtimo.

Environment variables

Create a local ".env.properties" from a example env file

Valtimo modules

Most modules are open source some are not these are from Valtimo-backend-plus-libraries project.

maven { url = uri("https://repo.ritense.com/repository/maven-public/") }

maven { url = uri("https://repo.ritense.com/repository/maven-snapshot/") }

Resource - Choose your module (only 1)
  • Local resource implementation("com.ritense.valtimo:local-resource:X.X.X.RELEASE")

  • S3 resource implementation("com.ritense.valtimo:s3-resource:X.X.X.RELEASE") Note: Valtimo-backend-plus-libraries:

  • Openzaak resource implementation("com.ritense.valtimo:openzaak-resource:X.X.X.RELEASE")

Mail - Choose your module (only 1)
  • Local mail implementation("com.ritense.valtimo:local-mail:X.X.X.RELEASE") Note: this module has no properties

  • Flowmailer implementation("com.ritense.valtimo:flowmailer:X.X.X.RELEASE")

  • Mandrill implementation("com.ritense.valtimo:mandrill:X.X.X.RELEASE")

All have different configs just be added to .env.properties file.

docker-compose.yaml

Choose DB provider in

In the docker-compose.yml there are 2 main dbs to choose from Mysql or Postgres.

Keycloak defaults

Keycloak also is part of the default setup but can be left as is. Note that 3 users are default added to a valtimo realm. admin:admin, user:user and developer:developer.

docker-compose-integration-test.yaml

This file contains the test db which is used when running integrationTest task in gradle.

Auto-configuration (no annotations approach)

Ritense recommends to use autoconfigures over annotation based classes (Service/RestController etc.). This allows spring to be snappier when starting up because scanning the whole project is slower. Also creating a overview of what your project needs is better approach when testing the implementation for instance. Create autoconfigures for your implementation in com.ritense.valtimo.autoconfigure, once created add them to the meta-inf/spring.factories to be picked up

Setup integration testing

Open BaseIntegrationTest and add the autoconfigures from previous step. If you want to control Valtimo startup flow comment/uncomment/add autoconfigure in TestConfiguration

You might also like...
🔨 Template for easy hosting of your Java/Kotlin libraries on GitHub

🔨 kotlin-jvm-library-template Another template for easy hosting your Java/Kotlin libraries on GitHub. Features boilerplate for Kotlin/Java projects w

A template that utilizes both Scala and Kotlin because why not (And also because I endorse programming hell)

Fabric-Scala-Kotlin-template A template that utilizes both Scala and Kotlin because why not (And also because I endorse programming hell) I don't care

A Template for a Github Actions Pipeline for building and publishing Gradle-JVM Applications

github-actions-cd-template-jvm A Template for a Github Actions Pipeline for building and publishing Gradle-JVM Applications It build a executable shad

Kotlin multiplatform library template

template-kmp-library Kotlin multiplatform library template. Has a baseline setup for a multiplatform library supporting all kotlin targets except depr

Reusable login template to learn Kotlin & Android additional features
Reusable login template to learn Kotlin & Android additional features

LogIn_Application reusable login template I started this project to learn Kotlin & Android additional features. This is LogIn Template App as part of

This is a Kotlin multiplatform template project used to generate and deploy a natively compiled AWS lambda function using the custom runtime.
This is a Kotlin multiplatform template project used to generate and deploy a natively compiled AWS lambda function using the custom runtime.

Overview This is a Kotlin multiplatform template project used to generate and deploy a natively compiled AWS Lambda function using a custom runtime. U

Utility - The cross-platform native Kotlin command line tool template

Utility The cross-platform native Kotlin command line tool template. Usage Make

AndroidappTemplate - A GitHub template repository intended to kickstart development on an Android application

Android App Template This is a GitHub template repository intended to kickstart

Curie - Minecraft Forge Kotlin Template

Minecraft Forge Kotlin Template Minecraft 1.12.2 で Forge と Kotlin を用いた Mod のテンプレ

Owner
Valtimo
Open source business process & case management
Valtimo
Arrow-Maven-Template - A template project for Arrow with Maven. It defines an application and a couple small examples

Arrow-Maven-Template A template project for Arrow on Maven. See the official doc

ΛRROW 0 Jan 11, 2022
Backend Project to support providing help to refugees

Project Project to implement the matching of guests and hosts, with special attention to verification of matches. Get it, run it: In order to build th

Eduardo de Vera Toquero 1 Apr 9, 2022
Android app using Kotlin to manage to-do notes with firebase as backend service

TO-DO Manager TO-DO Manager is a simple note management app. Unlike other apps, TO-DO Manager is free and open source. You can access your nots from a

Ahmed Badr 3 Dec 10, 2022
Template (pure) for KMM application with DI support

KMM di template Template (pure) for KMM application with DI support. Uses Multiplatform-DI for Dependency Injection Features Common architecture (VIP)

Anna Zharkova 8 Oct 18, 2022
An Android template project (in Kotlin) with boilerplate and current patterns.

android-starter-v4 An Android template project (in Kotlin) with boilerplate and plumbing, exploring current architecture patterns. A bit too much for

Matthias Urhahn 14 Nov 4, 2022
Kotlin multiplatform library template.

template-kmp-library Kotlin multiplatform library template. Has a baseline setup for a multiplatform library supporting all kotlin targets except andr

Martynas Petuška 51 Nov 21, 2022
Kotlin Multiplatform Mobile App Template

KMMT : Kotlin Multiplatform Mobile Template Kotlin Multiplatform Mobile Development Simplified KMMT is a KMM based project template designed to simpli

Jitty Andiyan 207 Jan 4, 2023
Improved project template for Android Studio

Improved project template for Android Studio Unfortunately the default Android Studio template has a lot of unnecessary stuff that has to be removed e

Dmitriy 2 Sep 27, 2022
Spring-Boot Kotlin template for new microservices

kotlin-ms-template Spring-Boot Kotlin template for new microservices REST and GRPC ready Kafka producer/consumer ready Logs in JSON Format Base ready

null 0 Oct 6, 2021
A Kotlin Multiplatform and Compose template that allows you to easily set up your project targeting: Android, Desktop, and Web

A Kotlin Multiplatform and Compose template that allows you to easily set up your project targeting: Android, Desktop, and Web

Carlos Mota 3 Oct 27, 2021