Skip to content

Table of Contents

This section describes the various backend Cloud components as part of the Eclipse CSP and how to develop and build them.

  1. Overview
  2. Build Ecosystem and repo links
  3. Build Guidelines

Overview

Our components are built using a different build ecosystem and are available under the eclipse-ecsp organization on GitHub.

Below table highlights the build ecosystem and repository link for each component.

  • Docker Images are generated and published to GitHub Container Registry for the Java + Maven components and are available under the packages in the repository.
  • The Device Client, iOS/Android VehicleConnectSDK and iOS/Android VehicleConnectApp artifacts are packaged as a standalone release distribution.
  • The following table describes the Eclipse CSP build ecosystem and repositories.
Components Description Build Ecosystem Repository Link
api-gateway Provide single entry point for all clients to allow access of backend APIs Java + Maven Link
hivemq Extension for HiveMQ Community edition to support lightweight MQTT Broker apt for IOT data communication Java + Maven Link
vehicle-profile Responsible for creating and maintaining a profile for each vehicle onboarded to the platform. It stores vehicle-specific details and device information (ECUs, IVI, HU) installed on the vehicle, along with the capabilities and services provisioned for each vehicle-device combination. Java + Maven Link
device-activation Device Activation Component provides restful services for activating and reactivating devices like Dongle, HU, TCU and Dashcam; so that these devices can send data to the cloud post activation/reactivation Java + Maven Link
device-association The Device Association Component offers RESTful services for linking devices to users, retrieving association details, and managing device states such as termination, suspension, or restoration. Java + Maven Link
device-factory-management Handle device data such as Dongle, HU, TCU, and Dashcam. Perform operations like creating, updating, retrieving, or deleting device details in the database. Java + Maven Link
uidam-authorization-server Authorization server responsible for managing Identity and Access Management. Java + Maven Link
uidam-user-management Manages create, read, update, and delete (CRUD) operations for Identity and Access Management. Java + Maven Link
device-message Responsible for sending the configuration to the device whenever there is an update in the configuration. Internal service calls the Device Message API to initiate sending the configuration. The Device Message component sends the configuration to the device using an MQTT channel and the configuration is saved in the Device Shadow collection database. The device client can later retrieve the latest configuration by calling the Device Shadow API also. Java + Maven Link
device-shadow The Device-shadow component enables devices to resynchronize their configurations, particularly after disconnection or when their configurations become corrupted. Java + Maven Link
remote-operations Provides services for remote operations such as locking/unlocking doors, turning off ignition, and more. Java + Maven Link
device-client Edge component for data aggregation. It collects data from deployed devices, validates it, runs edge algorithms, stores the data, and schedules secure uploads to the cloud. C++ + CMake + APT Linux Distribution Link
ios-vehicle-connect-sdk Provides an API for Remote Operations and User Authentication, enabling the development of mobile apps using the VehicleConnectSDK. Swift + IOS Simulator Platform +xcodebuild Link
android-vehicle-connect-sdk Provides an API for Remote Operations and User Authentication, allowing the development of mobile apps using the VehicleConnectSDK. Kotlin + Gradle Link
ios-vehicle-connect-app Sample iOS App for VehicleConnectSDK Swift + IOS Simulator Platform +xcodebuild Link
android-vehicle-connect-app Sample Android app for VehicleConnectSDK Kotlin + Gradle Link

Note: Refer the README in the Repository Link column of each row for more information about each repository.

Build Guidelines

    Refer the build_guidelines.md file for more information about how to build the components.