Intellogate is a Ukrainian holding group that provides international R&D services, operating in such segments as banking, transportation, retail, and healthcare. The company specializes in designing hardware products and embedded software for them.
Intellogate engaged AltexSoft to devise and build a software ecosystem for cash acceptor kiosks. The use cases for these products range from self-service banking and payments to coffee machines and fully-automated gas stations.
AltexSoft’s UX team has designed interfaces both for kiosks and admin panels. We created comprehensive dashboards for administrators that allow for tracking payments, managing service providers, and accounting for transactions. The kiosk UX is aimed at rapid onboarding and is fully intuitive, which is especially critical for self-service interfaces.
The engineering team decided to leverage Electron, a cross-platform framework by GitHub that is used for writing desktop applications with web tools. Electron suggests Node.js as a back-end environment and JavaScript for the presentation layer rendered in the Chromium browser. The application controls internal kiosk functionality and connects the front-end, a receipt printer, and a cash acceptor. While the application is deployed on Ubuntu (a Linux distributive) the cross-platform solution lays the groundwork to further adjust the application for any underlying hardware, like tablet computers or other terminals, without much effort.
The work entailed writing a set of scripts that customize a standard Ubuntu behavior. This was needed to disable splash screens and window functions that would allow users to access the operating system right from the kiosk. As a result, the Electron-based application runs from the startup providing access to payment options only.
The server-side architecture is built as Node.js microservices, decoupled modules with narrow tasks. This enables easy functionality scaling and customization for various industries. Microservices can be connected with the kiosk application, the web admin panel, and service providers (e.g. banks, mobile carriers) via REST APIs. Additionally, the server core supports setting payments without service provider connection. This type of deployment can be used by organizations that accept direct payments (e.g. hospitals).
The project was handled within the fixed-cost engagement model. The team consisted of a software architect, two full-stack JavaScript engineers, back-end, and front-end engineers, two quality assurance specialists, two UX specialists, and a project manager.
The technology stack included the Electron framework, Node.js, Vue.js, Ubuntu OS.
The duration of the project was about 8 months with the total scope of work done in about 4 man-years.
Services provided within the project framework: UX/UI Consulting.