Otter Framework
Description


The Otter project is a highly modular framework whose goal is to provide a common platform to accelerate and facilitate the development on Angular web applications.
It is split into several units to cover different aspects of these applications (localization, testing, customization, etc.).
Also, to customize an application, metadata can be extracted from the application source code and injected into a CMS to manage dynamic configuration.
[!TIP]
The full list of modules and their documentation is available in the /docs folder.
An overview of the technical module interactions and the architecture of the dependencies is available in the architecture section.
A demonstration of a list of features provided by Otter is accessible on the showcase application.
Built With
Get Started
To set up a new Otter project with a monorepo structure, use the following simple command:
# Creating a new Otter monorepo
npm create @o3r my-project
[!TIP]
Please refer to Otter Get Started and Angular Get Started for complete documentation.
Contributing
Please read the Contributing file for details on our code of conduct and the process to submit pull requests.
Versioning
Please refer to Security file.
License
Please refer to the License file.
Acknowledgments
The Otter Team, @AmadeusITGroup/otter_admins, is responsible for the review of the code of this repository.
Any bug of feature request can be addressed via issue report.
Developer
Experimental
In this monorepo, certain APIs across all packages are marked with the @experimental tag in their TypeScript documentation (TSDoc). This tag highlights that these exports — whether classes, functions, types, or constants — are experimental and may change without warning.
What does @experimental mean?
- The marked APIs are not stable and can undergo breaking changes in future releases.
- Experimental features may be added, modified, or removed at any time.
- These APIs are intended for early adopters and should be used with caution.
What should you do?
- When using any
@experimental APIs from any package in this monorepo, pin the package versions explicitly to avoid unexpected breaking changes.
- Regularly check release notes and changelogs for updates on experimental features.
- Treat these APIs as preview or evolving interfaces that may mature or be deprecated in upcoming versions.
Building and Testing library
These documents describe how to set up your development environment to build and test the framework.
It also explains the basic mechanics of using git, node, and npm.