{"id":26243481,"url":"https://github.com/rkbalgi/isosim","last_synced_at":"2025-04-23T13:43:47.847Z","repository":{"id":51751757,"uuid":"64412090","full_name":"rkbalgi/isosim","owner":"rkbalgi","description":"ISO8583 Web Simulator - Built with Go!  ","archived":false,"fork":false,"pushed_at":"2022-11-24T16:06:25.000Z","size":7918,"stargazers_count":105,"open_issues_count":8,"forks_count":45,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-30T00:11:32.476Z","etag":null,"topics":["chrome","cryptography","golang","iso-websim","iso8583","iso8583-parser","iso8583-simulator","mac","pin-block","react","simulator"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rkbalgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-28T16:41:20.000Z","updated_at":"2025-02-27T14:20:07.000Z","dependencies_parsed_at":"2022-09-01T23:20:36.207Z","dependency_job_id":null,"html_url":"https://github.com/rkbalgi/isosim","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkbalgi%2Fisosim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkbalgi%2Fisosim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkbalgi%2Fisosim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkbalgi%2Fisosim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rkbalgi","download_url":"https://codeload.github.com/rkbalgi/isosim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250441490,"owners_count":21431176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","cryptography","golang","iso-websim","iso8583","iso8583-parser","iso8583-simulator","mac","pin-block","react","simulator"],"created_at":"2025-03-13T10:20:32.652Z","updated_at":"2025-04-23T13:43:47.805Z","avatar_url":"https://github.com/rkbalgi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/rkbalgi/isosim)](https://goreportcard.com/report/github.com/rkbalgi/isosim)\n[![codecov](https://codecov.io/gh/rkbalgi/isosim/branch/master/graph/badge.svg)](https://codecov.io/gh/rkbalgi/isosim)\n[![GoDev](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white\u0026style=flat-square)](https://pkg.go.dev/github.com/rkbalgi/isosim?tab=doc)\n![build](https://github.com/rkbalgi/isosim/workflows/build/badge.svg)\n![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/rkbalgi/isosim?include_prereleases\u0026style=flat)\n![Docker Pulls](https://img.shields.io/docker/pulls/rkbalgi/isosim?color=%23FF6528\u0026label=docker%20pulls)\n\n# ISO WebSim\nA very short screencast - [https://youtu.be/vSRZ_nzU-Jg](https://youtu.be/vSRZ_nzU-Jg)\n\nPulling a [docker](https://github.com/rkbalgi/isosim/wiki/Running-on-Docker) image would be the quickest way to run without any hassles of building/configuring etc!\n\n![](https://github.com/rkbalgi/isosim/wiki/home_collage.png)\n\n\nIso Websim is a ISO8583 simulator built using [Go](http://golang.org), [React](https://reactjs.org/), [Material-UI](https://material-ui.com/) and\nother amazing open source libraries.\n\n## Features -\n* A mechanism to define ISO specifications\n  * ASCII, EBCDIC, BCD and BINARY encoding for fields\n  * Fixed, Variable, Bitmapped fields\n  * Embedded/Nested fields \n  * Supported MLI's - 2I, 2E, 4I, 4E\n* Define and run servers based on specs\n  * Run servers from the UI or in [standalone mode](https://github.com/rkbalgi/isosim/wiki/Start-standalone-ISO-server-from-command-line)\n  * Rules to respond to messages based on fields (rules based on amount, currency etc)   \n* A UI to build and send transactions to servers (as a client)\n  * Ability to edit fields on UI\n  * [UI hints](https://github.com/rkbalgi/isosim/wiki/Field-Hints-for-UI) to render special fields\n  * Client-side validation of fields for content, length \n  * [PIN](https://github.com/rkbalgi/isosim/wiki/Pin-Field-(DF52)-Generation) and [MAC](https://github.com/rkbalgi/isosim/wiki/MAC-Generation-(DF64-128)) generation \n  * [Padding](https://github.com/rkbalgi/isosim/wiki/Field-Padding) support\n  * Save messages that be can be replayed later\n  * Build [Test Cases](https://github.com/rkbalgi/isosim/wiki/Test-Cases) that can be saved and re-run for regression testing etc\n  * [Log](https://github.com/rkbalgi/isosim/wiki/Message-History) of past messages\n* TLS, [Docker](https://github.com/rkbalgi/isosim/wiki/Running-on-Docker) \n\n\n\nCheckout the [wiki](https://github.com/rkbalgi/isosim/wiki) for more details!\n\nThe specifications themselves are defined in yaml file (Check out an example - [iso_specs.yaml](https://github.com/rkbalgi/isosim/blob/master/test/testdata/specs/iso_specs.yaml))\n\nThe [frontend](https://github.com/rkbalgi/isosim-react-frontend) is bundled with the application and can be accessed at [http://localhost:8080/](http://localhost:8080/)\n\n\n* A quick walkthrough - https://github.com/rkbalgi/isosim/wiki/Test-Examples\n\n\n \n` Please note that this application has been tested only on the chrome browser.`\n\n### Usage: \n```\nC:\u003ego run isosim.go -help\n  -data-dir string\n        Directory to store messages (data sets). This is a required field.\n  -html-dir string\n        Directory that contains any HTML's and js/css files etc.\n  -http-port int\n        HTTP/s port to listen on. (default 8080)\n  -log-level string\n        Log level - [trace|debug|warn|info|error]. (default \"debug\")\n  -specs-dir string\n        The directory containing the ISO spec definition files.\n```\n\n### Running Iso WebSim \n```\n$\u003e git checkout https://github.com/rkbalgi/isosim.git\n$\u003e cd isosim\\cmd\\isosim\n$\u003e go run isosim.go -http-port 8080 -specs-dir ..\\..\\test\\testdata\\specs -html-dir ..\\..\\web -data-dir ..\\..\\test\\testdata\\appdata\n```\nOpen chrome and hit this URL [http://localhost:8080/](http://localhost:8080/)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkbalgi%2Fisosim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frkbalgi%2Fisosim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkbalgi%2Fisosim/lists"}