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)
| Tool | Version | Purpose |
|---|---|---|
| JDK | 11+ (17 LTS recommended) | Compiles Kotlin and runs Compose Desktop. |
| Git | any recent | Clone, branch, PR. |
| IntelliJ IDEA | Community is fine | Recommended IDE — opens the Gradle project directly with Kotlin/Compose support. |
| Gradle | bundled wrapper | No 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 onlyProject 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: camelCaseSubmitting Changes
- Fork the repository on GitHub.
- Branch —
git checkout -b feature/new-feature. - Build & test — make your change and run
./gradlew build. - Commit with a descriptive message — e.g.
git commit -m "Add REST API support". - Push & open a Pull Request —
git push origin feature/new-feature, then open the PR againstmain.
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.