I have been working in a Payment Card Industry since 2013, and almost always I have worked with ATM processing systems (a.k.a ATM Host - the systems to which ATMs are connected, and which process various messages from ATMs, including financial inquiries). And of course, while developing applications for these systems, there is a constant need for emulating the ATM messages coming to the host. The real ATMs are quite expensive for this purposes, and the obvious solution is to use various software ATM simulators. Since the market for ATM vendors is quite small, commercial ATM simulator applications (such as this are very expensive (what about $7000 annualy per each workstation 😱?). As a consequence, all the companies in which I worked, come out of this situation in an obvious way - writing their own closed-source ATM simulator. Sometimes it ends up in a complete failure.
I started the development of the application (currently called electron-atm) by forking one of the Electron boilerplate-projects. Following the minimal-viable-project (MVP) methodology (🚲 ➡ 🏍 ➡ 🚗 ➡ 🏎), I started with the basics: by implementing the networking subsystem, the host message parsing library (there is a private vendor-specific protocol of communicating with the host) and a minimal GUI. After two weeks of part-time development, the application looks like this:
To anybody interested in the project - your contibutions of any kind are welcome!