CHALLENGES

  • One of the challenges we encountered was the need for reflection configuration when using GraalVM. Every Java class, whether it's from our own codebase or from a third-party library, that utilizes reflection needed to be explicitly added to the reflection configuration.
  • Another challenge we faced was deploying our application with a serverless architecture. While serverless architecture offers numerous benefits such as scalability and cost-effectiveness, it also presents unique challenges in terms of deployment and management. We had to carefully design our application to work within the constraints of serverless environments, such as function duration limits and cold start times. Additionally, configuring the deployment pipeline and integrating with serverless platforms required careful planning and coordination to ensure smooth and efficient deployment processes.

KEY FEATURES

  • Google registration.
  • Review the real-time data of a device.
  • Show devices on a map.
  • Show devices charging charts (current/voltage).
  • Admin and user can view all their drones, filter it by statuses, search by drone name, view drones with specific statuses, view real-time charging data via chart, view device information, view device configuration, view information about charging sessions of drones(chart, table), filter drones charging sessions by date, client id, device name, observe their location and view detailed info.

OUR APPROACH

  • It was the very first time when we used Micronaut Framework, Serverless Architecture and GraalVM. Main challenge was to develop a java application with small cold start time.
  • Because the AWS Lambda service is very sensitive to cold starts. We decided to use GraalVM Native Image to reduce cold starts and deploy it on AWS Lamda custom runtime. Result cold start time 0.2s which is enough for synchronou work backend on AWS Lambda.
  • Developing the software we used KISS, DRY, SOLID principles.

RESULTS

As a result, we have created a program that has a user-friendly interface, allowing seamless Google registration for hassle-free onboarding.
Users can effortlessly monitor real-time device data, facilitating prompt decision-making based on up-to-date insights.
A dynamic mapping feature showcases all connected devices on a map, simplifying device tracking and management through visual representation.
Detailed charging charts offer in-depth analysis of device charging performance, with interactive current and voltage displays aiding in anomaly detection.
Case study image
Image

YOU MAY FIND INTERESTING