Qryo

screenshot of Qryo
vitepress
tailwind
unocss

Testing if offline first CRUD applications with Directus are possible

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.

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.

vitepress
Vitepress

VitePress is a static site generator designed for creating documentation websites. It offers a lightweight and fast development experience using Vue.js and Markdown, with features such as live-reload, theming, and customizable layout components.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

unocss
UnoCSS

UnoCSS is an instant, on-demand atomic CSS engine that generates utility classes at build time. It's highly customizable, extremely fast, and compatible with Tailwind CSS utilities while offering additional features like attributify mode and pure CSS icons.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.