We started partnering with Nexton Development Solutions back in 2017. For them we implemented a complete solution for running electric vehicle (EV) charging stations. It consists of an application that runs on the chargepoint and controls the charging flow, as well as backend solution that coordinates all the charging stations, manages users and communicated with the mobile application. We also implemented the initial version of the web interface.
Most of the user experience of the system is around the mobile application. When a user registers an account they are prompted to enter a payment instrument. Then they are allowed to subscribe for pre-payed plans and run charging sessions on the chargepoints built and deployed by Nexton Development Solutions and their partners.
We also developed a web UI with React.js and a pixel perfect screen layout.
Our backend supports singing in and up directly in the system as well as via the most popular social networks: Facebook, Google and Twitter. For our iOS users we also support Apple Login. For payment we’ve integrated with Stripe and PayPal. We are exposing RESTful API for our web and mobile clients to call and perform different operations: user and profile management, subscription plan management, charging session control (yes, users can control their charging session from their mobile phones!) and many more. Whenever an event happens, if it is relevant for the user, the backend sends notification to the mobile app via Firebase.
But the most challenging part of the solution is the product that runs on the chargepoint – Human Machine Interface (HMI). Completely developed in Java it coordinates the user input with quite a few external devices:
Power controller that communicates with the car
POS terminal for direct payment with a credit card
Electrometer to obtain the amount of charged energy
The backend – in both directions to report the current state of the chargepoint and to receive commands for managing the charging sessions
The state of the art touch screens and the whole wizard was implemented with JavaFX