Module
Modules are abstractions provided as part of the open contract for common functionalities like networking, logging, tracing and tracking etc.
Modules can provide specific functionality for the project , for example navida login
Example
API calls will be performed from a high number of plugins. To reduce the number of lines of code to achieve this need a central place should be created to perform this action.
The APIModule will cover this logic and provide it in a unified way to all plugins that require this logic.
Types of Modules
There are two types of Modules:
Open Contract Modules
Modules that are available to all plugins and provide logic and functionality needed for most plugins.
- API Calls ( Network Module)
- Authentication Module
- Logging Module
- Exception Handling
- CMS and Configuration Module
- Tracking of Usage events
- Consent Module
- User Information ( Data Module)
- Deeplinking
- OS Integration ( Platform Module)
- Plugins Locator
- OpenTelemetry
- Thryve SDK module
- WonderPush SDK module
- Internationalization and Locatization
Navida specific Modules
Modules that are very specific for the AML Navida Use case.
- Challenges
Implementation
Open Contract Modules are defined in the Open Contract and implemented in the navida spcific plugin. That way every plugin can access this functionality.