How to Contribute

ISO8583Studio is Apache-licensed and built in the open. Bug fixes, new tools, simulator work and docs are all welcome.

Prerequisites (Kotlin Multiplatform)

ToolVersionPurpose
JDK11+ (17 LTS recommended)Compiles Kotlin and runs Compose Desktop.
Gitany recentClone, branch, PR.
IntelliJ IDEACommunity is fineRecommended IDE — opens the Gradle project directly with Kotlin/Compose support.
Gradlebundled wrapperNo separate install — use ./gradlew.

Development Setup

git clone https://github.com/hpkaushik121/Iso8583studio.git
cd Iso8583studio
./gradlew build     # compile everything + run tests
./gradlew run       # launch the desktop app
./gradlew test      # tests only

Project Layout

composeApp/
The Compose Desktop application — UI screens, simulator services, HSM/payShield engine (src/desktopMain/kotlin).
iso-core-lib/
Core ISO 8583 message library.
cryptocalc/
Cryptography calculators module.
docs/
This website.

Code Style

Follow standard Kotlin conventions:

class GatewayConfiguration        // classes: PascalCase
fun processTransaction()          // functions: camelCase
const val DEFAULT_TIMEOUT = 30    // constants: UPPER_SNAKE_CASE
val connectionManager = ...       // variables: camelCase

Submitting Changes

  1. Fork the repository on GitHub.
  2. Branchgit checkout -b feature/new-feature.
  3. Build & test — make your change and run ./gradlew build.
  4. Commit with a descriptive message — e.g. git commit -m "Add REST API support".
  5. Push & open a Pull Requestgit push origin feature/new-feature, then open the PR against main.

Reporting Issues

Open a GitHub issue and include:

  • Environment — OS, Java version, app version.
  • Steps to reproduce — exact clicks/config that trigger it.
  • Expected vs actual behaviour — plus logs, configuration files or screenshots.
Tip

Not sure where to start? Questions and ideas are welcome in Discussions, or reach us via the contact page.