16 dépôts
Development patterns for offline-capable web applications.
Distinguishing note: Focuses on the offline-first development paradigm.
Explore 16 awesome GitHub repositories matching web development · Offline-First Web Apps. Refine with filters or upvote what's useful.
This is a foundational project structure for building scalable web applications using React. It provides a standardized directory structure and build tools to accelerate the bootstrapping of new projects, featuring a Redux architecture for predictable state management through unidirectional data flow and an immutable store. The project is distinguished by a command-line interface for generating standardized components, containers, and routes from predefined templates. It implements an offline-first framework using service workers to enable progressive web app functionality, alongside a compon
Utilizes service workers and caching strategies to keep the application functional without a network connection.
This project is a pre-configured project foundation for building scalable web applications. It serves as a React application boilerplate and component scaffold designed to provide a scalable architecture and a foundation for long-term growth. The setup is characterized by an offline-first web framework that maintains application availability without an active network connection. It includes an internationalized UI foundation with integrated translation tooling and a modular CSS-in-JS setup for scoped, component-level styling. The boilerplate covers broader capability areas including automate
Provides a project foundation specifically configured for the offline-first development paradigm.
This project is an asynchronous key-value store designed for client-side data persistence. It provides a unified interface that allows applications to save and retrieve complex data types, including binary objects, while maintaining responsiveness through non-blocking operations. By enabling offline-first functionality, it ensures that data remains accessible even when a network connection is unavailable. The library distinguishes itself through a driver-based abstraction layer that automatically detects the most efficient storage mechanism available in the current browser or mobile environme
Builds web applications that remain fully functional and responsive even without an internet connection.
Gun is a decentralized graph database and synchronization engine designed for real-time, peer-to-peer data management. It functions as a JavaScript library that enables applications to maintain consistent state across distributed nodes without relying on a central server. By utilizing conflict-free replicated data types and a gossip protocol, the system ensures that data updates propagate across the network and reconcile automatically. The project distinguishes itself through a focus on decentralized identity and security, utilizing public-key infrastructure to authenticate users and sign dat
Supports offline-first application development with automatic reconciliation of local changes.
PouchDB is a JavaScript NoSQL document database that runs directly in the browser. It serves as an offline-first data store that allows applications to save state and user data locally using persistent storage. The database is compatible with CouchDB, implementing its API to enable synchronization between browser environments and remote servers. This allows for cross-device data syncing and the development of local-first software that operates without a constant internet connection. The project covers data storage and synchronization capabilities, including the ability to migrate database sc
Provides the foundational data store for building offline-first web applications that sync when connectivity returns.
Offline is a JavaScript library that provides an offline-first framework for web applications, centered on monitoring network connectivity and managing the application's response to connection state changes. It detects transitions between online and offline states by listening to browser events and emits custom events that allow other parts of the application to react accordingly. The library distinguishes itself by combining event-driven connectivity detection with automatic request queuing and retry. When a request fails due to lost connectivity, it is captured and queued in memory, then au
Provides tools for handling network interruptions in web applications as an offline-first JavaScript library.
HospitalRun Frontend is an offline-first progressive web application designed for hospital information system administration, enabling healthcare facilities to manage patient records, appointments, and clinical workflows through a web-based interface. The application stores patient data locally in the browser's IndexedDB database, allowing full functionality without a persistent internet connection, and synchronizes changes with the backend server via RESTful API calls when connectivity is restored. The system implements role-based access control routing that restricts navigation and feature
Stores patient data locally in IndexedDB for full offline functionality.
Accesses and edits notes without any internet connection; changes sync later when online.
Build Offline-First Apps for Web and React Native
Building applications that function reliably without a network connection, with local state persistence and automatic synchronization when connectivity returns.
vim.wasm is a full port of the Vim editor compiled to WebAssembly that runs entirely in a browser tab. It provides a complete code editing experience with syntax highlighting, text objects, and all standard Vim features, executing natively in the browser through Emscripten compilation. The editor integrates deeply with browser capabilities, including drag-and-drop file opening, system clipboard synchronization for cross-application copy and paste, and IndexedDB-based persistent storage that preserves user configuration and edited files across browser sessions. Files can be loaded from URLs vi
Stores user configuration and edited buffers in IndexedDB for persistence across browser sessions.
UpUp est un framework de service worker et un outil d'application web progressive conçu pour fournir aux sites web des capacités hors ligne. Il fonctionne comme un gestionnaire de cache de navigateur qui permet la disponibilité hors ligne du site web en utilisant des service workers et l'API de cache. Le projet gère le flux de travail hors ligne via la pré-mise en cache des actifs statiques et le cache busting basé sur la version pour garantir que les ressources stockées restent à jour. Il inclut également la gestion des replis hors ligne pour définir des pages ou du contenu spécifiques qui s'affichent aux utilisateurs lorsqu'une connexion réseau n'est pas disponible et que la ressource demandée n'est pas mise en cache. Les capacités supplémentaires couvrent la surveillance de l'état du réseau côté client et la journalisation diagnostique basée sur la console pour le dépannage.
Implements patterns for building web applications that maintain usability during online/offline transitions.
Hoodie est un framework de synchronisation de données et un backend JavaScript offline-first conçu pour maintenir les magasins de données côté client synchronisés avec un backend distant. Il fournit une couche de persistance local-first qui permet aux applications de rester fonctionnelles hors ligne en abstrayant la base de données côté client. Le système dispose d'une interface backend NoSQL qui permet l'interaction avec des magasins de données distants sans nécessiter de code boilerplate côté serveur personnalisé. Ceci est supporté par un système de pilotes modulaire d'adaptateurs backend enfichables qui connectent la couche de synchronisation à divers fournisseurs de bases de données distants. Le framework gère la synchronisation des données côté client et la persistance local-first pour assurer la cohérence à travers les appareils. Il couvre le déploiement de serveurs backend pour gérer la persistance des données et la création d'API hors ligne pour les applications web et mobiles.
Facilitates the development of applications that remain fully functional without internet by syncing local data with a remote server.
Preswald est un framework d'application de données WebAssembly utilisé pour construire des applications de données interactives qui s'exécutent entièrement dans le navigateur en utilisant Python. Il fournit une pile de données basée sur le navigateur, incluant l'exécution SQL et Python, qui fonctionne hors ligne sans avoir besoin d'un serveur backend. Le framework inclut un bundler d'applications de données statiques pour empaqueter les flux de travail de données et les visualisations dans des fichiers uniques et partageables. Ces applications autonomes permettent la visualisation de données sans serveur et le regroupement de flux de travail de données portables pour la distribution. Le système utilise une interface de tableau de bord de données réactif qui met à jour automatiquement des éléments d'écran spécifiques en fonction des changements dans les données sous-jacentes. Il couvre la gestion d'état local-first et l'exécution SQL côté client pour maintenir la continuité opérationnelle au sein de la session de navigateur.
Provides a development pattern for building interactive dashboards that are offline-first.
Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize application data. It provides an event-sourced state store that processes typed events through materializer functions to derive and persist application state. The framework implements offline-first data synchronization using a push-pull engine and append-only event logs to maintain consistency between clients and servers. It includes a real-time presence system for tracking user activity and shared session status across connected clients. The system covers a broad capability surf
Provides a framework for building applications that function without internet by prioritizing local storage and synchronization.
Cloud Annotations est une plateforme basée sur le web conçue pour l'annotation collaborative d'images et la préparation de jeux de données de vision par ordinateur. Elle fournit une interface permettant aux équipes de dessiner des boîtes englobantes et des polygones sur des médias numériques, transformant des images brutes en données d'entraînement structurées pour les modèles de machine learning. La plateforme se distingue par un moteur de synchronisation en temps réel qui permet à plusieurs utilisateurs d'éditer la même image simultanément. En utilisant le stockage local basé sur le navigateur et la sérialisation de données standardisée, elle prend en charge les workflows hors ligne et garantit que les annotations exportées restent compatibles avec les pipelines d'entraînement de machine learning courants. L'application gère des données visuelles complexes grâce à une architecture d'état centralisée et des techniques de rendu haute performance. Ces capacités facilitent un étiquetage de données cohérent à travers des équipes distribuées, rationalisant la création de jeux de données pour les tâches de détection et de classification d'objets.
Uses IndexedDB for local browser storage to enable offline annotation workflows and reduce server latency.
Ce projet est une station de travail audio numérique (DAW) basée sur navigateur qui fournit un environnement de qualité professionnelle pour composer, arranger et éditer des pistes musicales. Il fonctionne comme un séquenceur audio complet, permettant aux utilisateurs de manipuler des signaux audio numériques et de construire des compositions musicales complexes directement dans un navigateur web. La plateforme se distingue par une architecture synchronisée dans le cloud qui stocke les projets musicaux sur des serveurs distants, garantissant que le travail créatif reste accessible et synchronisé sur plusieurs appareils. En tirant parti du navigateur comme espace de travail principal, elle facilite la collaboration à distance et fournit un environnement persistant pour la production musicale qui n'est pas lié à une seule machine. L'application utilise l'API Web Audio pour gérer le traitement du signal et la synthèse, soutenue par une interface modulaire qui réagit aux entrées utilisateur et aux événements des contrôleurs matériels. Elle intègre une mise en cache locale pour l'édition hors ligne et décharge les tâches de traitement du signal intensives vers des threads en arrière-plan pour maintenir la réactivité de l'interface pendant la lecture.
Uses IndexedDB to persist project data locally for offline editing capabilities.