The RAPP store is a website that hosts a collection of “RApps” (Robotic Applications) which may be downloaded by RAPP users on their robots. Both Developers and Robot Users need to create an account and log in to the RAPP store in an authenticated manner. Developers submit the source code of the RApps they developed to the RAPP store where they are compiled and an executable package is created (if needed, depending on the development language). RApp-related information like compatibility with certain robot models and their respective software and firmware versions, dependencies on other RApps etc. are stored in the Centralized DB on the platform side and are accessible by the RAPP Store. The database also holds the log in and the general information of both Developers and Robot Users. In the RAPP store website, a list of the available robots and their capabilities can be retrieved from the centralized DB and be accessible to potential developers to help them develop their RApps. The compilation process of a new RApp begins with the developer submitting the source code and any required dependencies and then follows a RApp packaging process which is executed in the RAPP Store. A Robotic Application can be submitted as pure C++ code, a ROS package (using C++ or Python) and pure JS code. Thus in the cases of C++ code and the ROS package, the compilation is needed, whereas in the JS case the Store proceeds directly to the packaging. The process identifies the source, binaries and dependant components of a RApp, and highlights the metadata procedures required in order to validate and further utilize the RApp within the RAPP Platform.
The figure below presents the overall process of introducing a new RApp in the RAPP Store.