EV Charging Stations

Learn about project

Complete solution for EV Charging

Client:

Adam Smith

Category:

Software Development

Duration:

2 Years

Website Link:

Project overview :

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

What we did for this project :

During our development process we used the following technologies and tools:

  • Java SE 11
  • Java FX
  • Java EE 8 and MicroProfile for the backend
  • React.js for the web interface
  • NGINX as reverse proxy
  • MySQL Database
  • OCPP protocol for the communication between the chargepoint and the backend
  • MQTT protocol to communicate with the electrometer
  • MODBUS protocol to communicate with the power controller that perform the communication with the car
  • Own implementation of the ZVT protocol to communicate with the POS terminal
  • Social login with OAuth tokens
  • Payment with Stripe and PayPal
  • Firebase for push notifications to the mobile app
  • Amazon EC2 for hosting the application
  • ELK stack for the log aggregation                                 

Project results :

Fully operational charging station with backend services for billing and management.