/isosim

ISO8583 Web Simulator - Built with Go!

Primary LanguageGoApache License 2.0Apache-2.0

Go Report Card codecov GoDev build

ISO WebSim

A very short screencast - https://youtu.be/vSRZ_nzU-Jg

Iso Websim is a ISO8583 simulator built using golang, React, material-ui and other amazing open source libraries.

Features -

  • A mechanism to define ISO specifications
    • ASCII, EBCDIC, BCD and BINARY encoding for fields
    • Fixed, Variable, Bitmapped fields
    • Embedded/Nested fields
    • Supported MLI's - 2I, 2E
  • Define and run servers based on specs
    • Run servers from the UI or in standalone mode
    • Rules to respond to messages based on fields (rules based on amount, currency etc)
  • A UI to build and send transactions to servers (as a client)
    • Ability to edit fields on UI
    • Client-side validation of fields for content, length (more on the way)
    • Save messages that be can be replayed later
  • TLS, Docker

The specifications themselves are defined in yaml file (Check out an example - iso_specs.yaml)

The frontend is bundled with the application and can be accessed at http://localhost:8080/

Please note that this application has been tested on chrome browser only.

Usage:

C:>go run isosim.go -help
  -data-dir string
        Directory to store messages (data sets). This is a required field.
  -debug-enabled
        true if debug logging should be enabled. (default true)
  -html-dir string
        Directory that contains any HTML's and js/css files etc.
  -http-port int
        Http port to listen on. (default 8080)
  -specs-dir string
        The directory containing the ISO spec definition files.

Running Iso WebSim

$> git checkout https://github.com/rkbalgi/isosim.git
$> cd isosim\cmd\isosim
$> go run isosim.go -httpPort 8080 -specs-dir ..\..\specs -html-dir ..\..\html -data-dir ..\..\testdata

Open chrome and hit this URL http://localhost:8080/

Read more about this on the wiki

The old front end is still available at http://localhost:8080/iso/home