A pnpm monorepo hosting a Suite of SDKs that implement functionality for Contentful's Personalization and Analytics products.
What is Contentful?
Contentful provides content infrastructure for digital teams to power websites, apps, and devices. Unlike a CMS, Contentful was built to integrate with the modern software stack. It offers a central hub for structured content, powerful management and delivery APIs, and a customizable web app that enables developers and content creators to ship their products faster.
Table of Contents
Optimization SDKs are organized in a hierarchy based on platform, environment, and optionally, framework. Each SDK builds on top of the common SDK for its platform, environment, and so on, to ensure functionality is reasonably shared and consistent.
- Optimization Core SDK
- iOS
- iOS Swift SDK (TBD)
- Android
- Android Kotlin SDK (TBD)
- Android Java SDK (TBD)
- JavaScript
- Node SDK
- Nest.js SDK (TBD)
- React Native SDK
- Web SDK
- Angular SDK (TBD)
- React SDK (TBD)
- Svelte SDK (TBD)
- Vue SDK (TBD)
- Node SDK
- iOS
Note
The JavaScript platform includes React Native, which could be considered a JavaScript development environment for native platforms.
The SDK Suite's reference implementations are intended to serve the following purposes:
- E2E testing of critical SDK functionality
- Clear and simple documentation of common SDK use cases with absolutely no extraneous content or functionality
Warning
Reference implementations may share some similarities with projects commonly labeled examples, demos, or playgrounds, but are more sparse and strictly maintained
These libraries may be used independently of other libraries and SDKs in the Optimization SDK Suite. They are relied upon by all SDKs, with their exported values and functionality exposed throughout the SDK hierarchy.
- API Client Library for the Experience & Insights APIs
- API Schemas Library maintains Zod validation schemas and TypeScript types for working with Experience API request and response payloads
Libraries that are shared internally among Optimization SDKs, and are not currently published, are
located within the /lib folder in the project root.
- Logger is a simple logging abstraction utility
- Mocks supplies testing fixtures and data, as well as mock server implementations used in both unit and end to end tests throughout the SDK suite
We appreciate any help on our repositories. For more details about how to contribute see our CONTRIBUTING document.
This repository is published under the MIT license.
We want to provide a safe, inclusive, welcoming, and harassment-free space and experience for all participants, regardless of gender identity and expression, sexual orientation, disability, physical appearance, socioeconomic status, body size, ethnicity, nationality, level of experience, age, religion (or lack thereof), or other identity markers.