flutter_offline_sync_engine 1.0.0 copy "flutter_offline_sync_engine: ^1.0.0" to clipboard
flutter_offline_sync_engine: ^1.0.0 copied to clipboard

Optimistic UI offline-first data synchronization engine for Flutter with configurable conflict resolution strategies.

flutter_offline_sync_engine #

pub package Build Status License: MIT Flutter

An optimistic UI offline-first data synchronization engine for Flutter. Automatically queues mutations while offline, emits reactive state streams, and handles conflict resolution strategies when connectivity restores.


🌟 Key Features #

  • 📱 Optimistic UI Updates: Instant local UI responses before remote server acknowledgment.
  • 🔄 Conflict Resolution Strategies: Built-in support for ClientWins, ServerWins, LastWriteWins, or custom resolver callbacks.
  • 📡 Reactive Status Streams: Emits real-time engine states (idle, syncing, success, error).
  • 🛡️ Failure Resilience: Preserves un-synced queue items across retry cycles.

📦 Installation #

Add flutter_offline_sync_engine to your pubspec.yaml:

dependencies:
  flutter_offline_sync_engine: ^1.0.0

🚀 Quick Start #

import 'package:flutter_offline_sync_engine/flutter_offline_sync_engine.dart';

final engine = OfflineSyncEngine(
  conflictResolver: const ConflictResolver(strategy: ConflictStrategy.lastWriteWins),
  actionHandler: (action) async {
    // Send to REST API or GraphQL backend
    return await api.send(action.payload);
  },
);

// Record local mutation when offline/online
engine.recordMutation(SyncAction(
  id: 'action_01',
  entityType: 'todos',
  actionType: SyncActionType.create,
  payload: {'title': 'Buy coffee'},
));

// Replay queue when connection returns
await engine.synchronize();

📄 License #

MIT License - Developed with ❤️ by Olamilekan Adeyemi (@lekthedeveloper).

0
likes
160
points
21
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Optimistic UI offline-first data synchronization engine for Flutter with configurable conflict resolution strategies.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_offline_sync_engine