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. | |
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. |
|
ff4k-core |
The core library containing the main API, configuration logic, default stores, and standard strategies. This is the primary dependency for using FF4K. | |
ff4k-store-jdbc |
A blocking JDBC feature store implementation. Ideal for traditional blocking JVM applications. See supported databases. | |
ff4k-store-r2dbc |
A non-blocking, reactive R2DBC feature store implementation. Ideal for reactive applications (e.g., Spring WebFlux). See supported databases. | |
ff4k-store-sqlite |
A Multiplatform SQLite feature store implementation. Supports JVM, Android, and iOS/Native targets. |
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 |