Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

View file
nameClamp undeploy dcae.mp4
height150


Developer's Guide Videos

  • The clamp project is structured as a single pom.xml (no maven submodule), it builds the Frontend and the Backend docker images, publishes a Jar on nexus and a NPM package that can be used to get the clamp UI react components. The frontend is located in the "ui-react" folder, and build with NPM into an NGINX docker container. The backend is a standalone Springboot JAR created from the src folder.

View file
nameClamp-0-Project Structure.mp4
height250



  • The backend uses Springboot and Camel, the code entry points are located in "scheduled beans" (policy controller/Sdc Controller) and defined in Camel routes. All Rest api endpoints are defined in Camel. The backend uses also the "spring profiles" to enable or disable features (like sdc controller, aaf cadi, policy controller, etc ...)

View file
nameClamp-Entry points (Camel, Beans, Spring profiles).mp4
height250


  • In the clamp structure, there is a folder extra/bin-for-dev that contains scripts for the developer. They are used to start the mariadb container (preload available), the policy/dcae emulator, the backend from the maven target/JAR (debug port opened) and the frontend from the target/ui-react code (using target folder NodeJS). The main language used between the frontend and backend is JSON, so looking at the Firefox Debugger Networks tab, it's possible to see all the data exchanged and understand the flow and debug the javascript code

View file
nameClamp-Start Clamp and debug the UI.mp4
height250

  • The code is entirely monitored in term of coverage (used by Sonar), the single maven module facilitates that


  • Clamp auto generates the Swagger JSON from the Camel Rest routes automatically. To export that json created only when the backend is up, we use one of the Integration test to export that json into the docs folder. The clamp pom then defines some plugins to convert that JSon to HTML or PDF. There is currently no documentation around those swagger info, it's just a raw Swagger json.

View file
nameClamp-Swagger.mp4
height250

...