Advanced Firestore & Supabase ListViews with Offline Caching & More!

We’re excited to introduce two powerful libraries designed to elevate your FlutterFlow app development experience:

  • 🔥 Firestore ListView Library

  • ⚡️ Supabase ListView Library

These libraries provide a production-grade, highly performant, and deeply configurable data layer for your ListViews, handling the heavy lifting so you can focus on building amazing user experiences.

🎯 Solving Common Challenges

Building sophisticated data-driven ListViews often requires tackling:

  • Implementing reliable caching.

  • Writing complex backend queries for dynamic filtering and sorting.

  • Managing pagination and infinite scrolling (especially for Supabase).

  • Ensuring smooth user experience even with large datasets.

  • Controlling API costs and preventing abuse.

  • Handling errors and failures gracefully.

Our Firestore and Supabase ListView libraries solve these challenges head-on, offering a comprehensive suite of features out-of-the-box!

✅ Key Features (Common to Both Libraries, Tailored for Each Backend)

Blazing-Fast Performance & Offline-First Caching

  • Offline-First Caching with Hive: Up to 30× faster read/write operations than SQLite or SharedPreferences. Instant data availability even without network connectivity.

  • Stale-While-Revalidate (SWR) Strategy: Cached data appears instantly while fresh data is fetched in the background, ensuring a non-blocking, smooth experience.

  • Smart Cache Invalidation: Automatic expiry intervals, manual invalidation triggers, and periodic SWR updates keep your cache fresh.

💡 Advanced Filtering & Sorting

  • Comprehensive Operator Support:

    • Firestore: isEqualTo, isNotEqualTo, arrayContains, whereIn, ect. with full support for root collections, subcollections, and collection groups queries.

    • Supabase: Full PostgREST support including comparison, pattern matching, full-text, range, set, and geo filters.

  • Dynamic Filters with Complex AND/OR Logic: Our integrated logic-tree builder algorithm handles deeply nested filter conditions effortlessly.

  • Dynamic Sorting: Sort your data based on any field dynamically.

  • Offline Filtering: Full filtering functionality works on cached data when offline, keeping ListViews responsive even without internet.

🔎 Integrated Multi-Field Search

  • Fully merges into your active filters:

    • Firestore: Custom search algorithm with multi-field support (full-text-like for one field) and prefix matching.

    • Supabase: Search across multiple columns using ILIKE or Full-Text Search (FTS).

♾️ Infinite Scrolling & Auto Query Refresh

  • Cursor-Based Infinite Pagination: Adjustable page size limits for smooth infinite scrolling.

  • Automatic Query Refresh: ListViews automatically update when filters or sorting change—no manual refresh logic needed.

🔄 Seamless UX with Scroll Restoration

  • Keep users delighted by automatically preserving their scroll position across sessions.

🎨 UI Flexibility & Configurability

  • Highly Configurable: With 48+ parameters (10 required) you have granular control over data behavior and UI logic.

  • Customizable UI Elements: Customize list item builders, empty states, loading indicators, error displays and more.

  • Layout Support: Works seamlessly with horizontal, vertical, and reversed layouts.

🛡️ Built-in Safeguards & Cost Control

  • Debounced Pull-to-Refresh: Prevents spammy behavior and abusive reloads.

  • Read Quota/Rate Limit Management: Helps keep your backend costs under control.

Robust Error Handling

  • Standardized error handling is passed to action callbacks, enabling clean and consistent UI error management. This allows you to gracefully handle common issues such as network connectivity loss, failed data refreshes, or pagination load failures, providing clear feedback to your users when something goes wrong.

📊 Activity Logging

  • Track user interactions and API usage (such as daily read counts) to detect misuse and gain insights. Logs can be optionally synced with your backend.

👨‍💻 Developer-Focused

  • Clean, Maintainable Code: 2100+ lines (Firestore) / 3300+ lines (Supabase) of well-documented, production-quality code.

  • Detailed Debug Logs: Comprehensive debug output when enabled.

  • Comprehensive Documentation: Get up and running quickly with detailed setup and customization guides.

  • Cross-Platform Ready: Fully tested for web, iOS, and Android.

⚡️ Supabase-Specific Highlights

  • Supports joined queries across tables without writing a single line of SQL.

  • Utilizes selective column fetching to minimize payload size and reduce Supabase bandwidth usage, allowing you to optimise costs.

These ListView libraries give you the power of complex backend querying and data management directly within FlutterFlow, abstracting away the complexities and letting you focus on what matters most: your app's features and user experience.

Get them from the Marketplace:

Let us know if you have any questions or feedback in the comments below!

Happy Building! 🚀

8
1 reply