Skip to content

Packages

FF4K is modularized into several packages to allow for flexible usage and extension.

Package Description Platform Support
ff4k-bom The Bill of Materials (BOM) helps you manage versions of FF4K libraries. By importing the BOM, you ensure that all FF4K dependencies in your project use the same version. Maven
ff4k-contract-test Contains contract tests (like FeatureStoreContractTest) to verify that custom implementations of FF4K interfaces (e.g., custom Feature Stores) adhere to the expected behavior. JVM Android iOS
ff4k-core The core library containing the main API, configuration logic, default stores, and standard strategies. This is the primary dependency for using FF4K. JVM Android iOS
ff4k-store-jdbc A blocking JDBC feature store implementation. Ideal for traditional blocking JVM applications. See supported databases. JVM
ff4k-store-r2dbc A non-blocking, reactive R2DBC feature store implementation. Ideal for reactive applications (e.g., Spring WebFlux). See supported databases. JVM
ff4k-store-sqlite A Multiplatform SQLite feature store implementation. Supports JVM, Android, and iOS/Native targets. JVM Android iOS

Database Requirements

When using SQL-based stores, the following minimum database versions are required:

Database Minimum Version Notes
MySQL 8.0.19+ Required for row alias syntax in INSERT ... AS upserts
PostgreSQL 9.5+ Required for ON CONFLICT upsert syntax
SQLite 3.24.0+ Required for ON CONFLICT upsert syntax