Skip to content
Luis Fernando Planella Gonzalez edited this page Feb 18, 2019 · 8 revisions

The Cyclos 4 user interface is built with Angular and Bootstrap, using the ngx-bootstrap integration library.

We strive to follow the Angular best practices and style guide, except for the app- prefix on all component selectors. So, if you need to customize the application, like adding new custom functionality, implement some missing functionality, etc, it should be a straight forward process: fork the repository, add the Angular components / modules and declare them in the existing Angular modules.

The aspect we don't use from Angular is the application translation (i18n). Using the built-in solution has 2 drawbacks for us: the application is compiled for each translation (which would require systems using multiple translations to serve multiple copies of the application) and it would be harder to pick the correct language from the Cyclos configuration on runtime, as it would require us to assume a deployment scheme for the multiple languages. Instead, we use (https://github.com/cyclosproject/ng-translation-gen) to handle translations. It allows both a compile-time consistency check, as it generates a class that has all the translations, and to change the translation in runtime.

Below are several aspects of the application to take into account when developing additional functionality:

Clone this wiki locally