Open Source Libraries
A log of all open source libraries used by Fan Companion

Android

Android open source components are Java code libraries which provide services for the native Android app.
Technical Integration: These Android libraries are compiled and bundled as binaries into the code and linked statically to the proprietary code.
SDK
Version
Purpose
Description of use
Licences
Status
Netty
3.8
Websockets support
Enables real-time communication between Monterosa / Interaction Cloud™ and the app
Mandatory
2.8.0
JSON support
Allows the app to read JSON, a standard format for internet data transfer.
Mandatory
1.2.2
Carousel position indicator (UI)
Displays “pip” indicators in carousels
Optional
1.1.0
String-level cryptography, used to encrypt sensitive personal data
Enables encrypted communication between app and the platform servers
MIT
Optional
OkHttp
3.4.1
HTTP networking
Supports loading of web-hosted content
Optional
ExoPlayer
2.5.3
Video playback
Player for video content in the app
Optional
27.1.0
Android Platform support libraries
Standard set of utility functions used by the app internally
Optional
1.0.4
Video scaling using different proportions
Used to scale splash screen video for different types of devices
Optional
1.0.4
Parallax effect implementation
Used to create parallax effect for AR Moment tile in the app
MIT
Optional
Glide
3.6.1
Downloading, processing and displaying static and animated images
Used to show animated AR button in bottom navigation
Optional
2.9.0
Working with AWS services
Used for push notifications
Mandatory
Fresco
1.11.0
Managing images and the memory they use
Used for displaying images
MIT
Mandatory
1.14.1
Android toolkit for Auth0 API
Used for Auth0 authentification
MIT
Optional
1.2.0
A library to help you decode JWTs for Android
Used for Auth0 authentification
MIT
Optional

iOS

iOS open source components are Swift code libraries which provide services for the native iOS app.
Technical Integration: These iOS libraries are compiled and bundled as binaries into the code and linked statically to the proprietary code.
SDK
Version
Purpose
Description of use
Licences
Status
Alamofire
4.8.0
HTTP networking
Supports loading of web-hosted content
MIT
Mandatory
3.5.0
Image loader
Supports loading of web-hosted images
MIT
Mandatory
3.1.4
JSON support
Allows the app to read JSON, a standard format for internet data transfer
MIT
Mandatory
KissXML
5.2.0
XML support
Allows the app to read XML, a standard format for internet data transfer
Custom
Built-in
LayoutOps
4.2.4
Layouting views
Provides styling of the visual layout of the app
MIT
Mandatory
2.1.1
Websockets support
Enables real-time communication between the platform and the app
Mandatory
2.4.11
Working with AWS services
Used for push notifications
Mandatory
1.14.2
Swift toolkit for Auth0 API
Used for Auth0 authentification
MIT
Optional
2.2.0
A library to help you decode JWTs in Swift
Used for Auth0 authentification
MIT
Optional
ReCaptcha
1.5.0
ReCaptcha v2 for iOS
Used for Captcha authentification
MIT
Optional
SwiftyCam
2.2.1
A Snapchat Inspired iOS Camera Framework
Used for selfie filters
Optional

React Native

React Native is an open-source toolkit based on the React JavaScript framework which is used to create native iOS and Android components from a single codebase, which is used in both iOS and Android apps.
Technical integration: React Native libraries provide two types of code: JavaScript and native (Java or Swift/Objective-C). The native code is linked into the main project and compiled along with the rest of the app as with other libraries described above. The JavaScript code is bundled into a single package as part of the app download, and executed at runtime when the React Native components are used.
SDK
Version
Purpose
Description of use
Licences
Status
0.59.5
Cross-platform native development
The core React Native system used for native mobile development with JavaScript
MIT
Mandatory
React
16.8.3
The core JavaScript UI library
Reduces effort involved in building user interfaces
MIT
Mandatory
6.26.0
Polyfills for the newest JS features
Provides features which JavaScript normally expects to find in a browser.
MIT
Mandatory
color
3.0.0
Color conversion and manipulation in styles
Advanced management of colors in the app design
MIT
Built-in
date-fns
1.29.0
Date utility library
Converts digital date values into human readable text
MIT
Built-in
4.1.1
Debounce and throttling libraries
Facilitates internal communication within the app
MIT
Built-in
15.6.1
Types checking for React’s props
Used to validate properties (arguments) types within the app, reducing errors
MIT
Built-in
2.4.0
Drawing linear gradients in RN
Graphic library providing support for gradients in design
MIT
Mandatory
3.9.3
Parsing and rendering HTML as native components
Converts HTML content into native UI
Built-in
0.8.0
Tabbed navigation that you can swipe between
Enables easy to use tabbed views
MIT
Built-in
6.3.1
SVG support
Provides support for SVG, a vector image format
MIT
Mandatory
3.7.0
React Native Carousel component implementation
Enables easy to use carousel views in some Fan Companion elements
Built-in
0.10.9
Audio support
Provides audio support within React Native views in the apps
MIT
Built-in
4.2.0
React Native router
Provides functionality to switch between screens in React Native app
MIT
Built-in
Recompose
0.26.0
Helpers for react components
Manipulates high order components in the application
MIT
Built-in
3.2.6
CSS-like styles in RN
Enables the use of CSS styling within React Native components
MIT
Mandatory
4.4.0
A video component for React Native
Plays videos
MIT
Built-in

Statuses explained

    Mandatory — powers core functionality of the app, can not be removed.
    Built-in — linked into the code in a tight way, can be excluded, if the functionality it provides is not required, or replaced with an alternative solution — at extra cost.
Optional — included only when the functionality it provides is required.
Last modified 6mo ago