synquill 0.6.0
SDKdartflutter
Platformandroidioswindowslinuxmacos
Offline-first Flutter data engine with background JSON API sync and custom retry logic.
Synquill Documentation
Welcome to the comprehensive documentation for Synquill - a powerful Flutter package for offline-first data management with automatic REST API synchronization.
📚 Documentation Overview
This documentation is organized into several sections to help you get started quickly and master advanced features:
Getting Started
- Quick Start Guide - Essential concepts, setup, and basic usage
- Core concepts and architecture
- Model definition and relationships
- Basic querying and operations
- Reactive data streams
Configuration & Setup
-
API Adapters - Customizing HTTP communication
- Creating custom adapters
- HTTP methods and headers
- Authentication patterns
- Response parsing and error handling
-
Configuration - Storage and sync configuration
- Database setup and options
- Background sync configuration
- Lifecycle integration
- Performance tuning
Advanced Features
- Advanced Features - Power user features
- Database indexing and optimization
- Data migrations
- Error handling strategies
- Performance considerations and limitations
Reference
- API Reference - Complete API documentation
- All classes, methods, and properties
- Enums and exceptions
- Utility functions and helpers
- Code examples for each component
🚀 Quick Navigation
For New Users
- Start with the Quick Start Guide to understand core concepts
- Learn about API Adapters to connect to your backend
- Configure your app with Configuration
For Advanced Users
- Explore Advanced Features for optimization techniques
- Dive into Queue Management for complex sync scenarios
- Master Dependency Resolution for related data handling
For Reference
- Use the API Reference for detailed method signatures and examples
🎯 Key Concepts
Before diving into the documentation, familiarize yourself with these core concepts:
- Offline-First: Synquill prioritizes local operations, syncing with remote APIs when connectivity allows
- Model-Driven: Define your data models once, generate repositories, DAOs, and database tables automatically
- Queue-Based Sync: Smart sync queues handle dependencies between related data operations
- Reactive Streams: Real-time UI updates through
Stream<T>APIs that respond to data changes - Configurable Policies: Control when and how data is loaded and saved with flexible policies
🔧 Common Use Cases
| Use Case | Recommended Reading |
|---|---|
| Getting started with Synquill | Quick Start Guide |
| Setting up API communication | API Adapters |
| Configuring background sync | Configuration |
| Optimizing database performance | Advanced Features |
| Managing complex sync scenarios | Queue Management |
| Handling related data dependencies | Dependency Resolution |
| Looking up specific methods | API Reference |
💡 Tips for Success
- Start Simple: Begin with basic CRUD operations before implementing complex sync scenarios
- Test Offline: Always test your app's behavior when connectivity is unavailable
- Monitor Queues: Use the queue monitoring tools to debug sync issues
- Use Indexes: Leverage indexes for better performance
- Handle Errors: Implement proper error handling for network and database operations
🤝 Contributing to Documentation
Found an error or want to improve the documentation? Contributions are welcome!
- Documentation lives in the
/docdirectory - Follow the existing structure and formatting
- Include code examples where helpful
- Test any code snippets before submitting
Happy coding with Synquill! 🚀