Qryo screenshot

Qryo

Author Avatar Theme by Ctholho
Updated: 13 Apr 2023
8 Stars

Testing if offline first CRUD applications with Directus are possible

Categories

Overview:

Qryo is a proof of concept and public laboratory that helps in building offline-first web apps. It focuses on server requests such as CRUD REST calls or RPCs and supports offline static assets using PWAs. Qryo aims to turn any query to a Backend-as-a-Service framework like Directus into an offline-first query. The core idea is to generalize a core module and create a thin wrapper for various frontend and BaaS frameworks. The goal is to persist mutations in IndexedDB, encrypt and show optimistic updates, and make POST requests idempotent.

Features:

  • Offline-First Apps: Qryo helps in building offline-first web apps that prioritize offline functionality.
  • Server Requests: It handles server requests like CRUD REST calls or RPCs, making it easier to work with backend services.
  • Support for PWAs: Qryo supports offline static assets using Progressive Web Apps (PWAs).
  • Query Conversion: Qryo helps in converting any query to a Backend-as-a-Service framework like Directus into an offline-first query.
  • IndexedDB Persistence: It persists mutations in IndexedDB, ensuring data integrity even in offline scenarios.
  • Optimistic Updates: Qryo shows optimistic updates, providing a smooth user experience even when offline.
  • Idempotent POST Requests: It makes POST requests idempotent, ensuring data consistency across offline and online scenarios.

Installation:

To install Qryo, follow these steps:

  1. Clone the Qryo repository.
  2. Open the repository in Gitpod or locally.
  3. Make sure you have Docker, Node, pnpm, and GNU Make installed.
  4. Run the initialization command: make init-local.
  5. This will set up the necessary dependencies and configurations for Qryo.

Summary:

Qryo is a proof of concept and public laboratory for building offline-first web apps. It focuses on handling server requests and supports offline static assets through PWAs. Qryo aims to convert queries to Backend-as-a-Service frameworks into offline-first queries, providing features such as IndexedDB persistence, optimistic updates, and idempotent POST requests. It allows developers to build web apps that prioritize offline functionality and ensure data integrity in offline scenarios.