v0.1.0 is now available
Intelligent Server State for Dart
Declarative data fetching with smart caching, background sync, request deduplication, and offline persistence. Built for real-world apps.
example.dart
final profile = await qora.fetchQuery<User>(
// Query Key - Unique ID for caching & invalidation
key: ['user', userId],
// Query function with abort signal support
fetcher: (signal) async {
final raw = awaitapi.getUser(userId, signal);
return User.fromJson(raw);
}
options: QoraOptions(
staleTime: 30.seconds, // When data becomes "old"
cacheTime: 5.minutes, // How long it stays in memory
)
);
Deterministic Data Fetching
Zero-Config Caching
Qora automatically stores and deduplicates your API responses. One request for multiple widgets, zero manual state management.
Intelligent Background Sync
Display cached data instantly while silently refreshing in the background. Your app stays fresh without ever blocking the user.
Bulletproof Offline Support
Built-in persistence with plug-and-play storage (Hive, SharedPrefs). Your data remains accessible even in the most unstable network conditions.
Automatic Resource Cleanup
Qora cancels network requests automatically when widgets are disposed. Save battery, bandwidth, and prevent memory leaks without effort.
Smart Request Deduplication
Stop wasting bandwidth. If multiple components request the same data simultaneously, Qora executes a single network call and shares the result across your entire app.
Fine-grained Stale Time Control
Take total control over data freshness. Define precisely how long data stays "fresh" per query. Qora intelligently triggers background refreshes only when necessary, balancing UX and server load.