offline-first

Open-source projects categorized as offline-first | Edit details

Top 23 offline-first Open-Source Projects

  • react-boilerplate

    :fire: A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

    Project mention: Open-source Headless CMS built with NestJS & ReactJS with Redux Saga | reddit.com/r/node | 2022-01-17

    Frontend was developed way earlier and where I used https://github.com/react-boilerplate/react-boilerplate. I know it would have been awesome if both projects were in typescript.

  • RxDB

    🔄 A client side, offline-first, reactive database for JavaScript Applications

    Project mention: Timeline view with all previous journal entries? | reddit.com/r/nomie | 2022-01-16

    Also if you're still looking for a storage engine I'd recommend checking out RxDB. Supports live CouchDB sync and works on both web and native.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • gun

    An open source cybersecurity protocol for syncing decentralized graph data.

    Project mention: gun: NEW Data - star count:15251.0 | reddit.com/r/algoprojects | 2022-01-08
  • workbox

    📦 Workbox: JavaScript libraries for Progressive Web Apps

    Project mention: Vite in the browser | dev.to | 2022-01-19

    Here is an example using workbox.

  • yjs

    Shared data types for building collaborative software

    Project mention: Consider SQLite | news.ycombinator.com | 2021-12-29

    You have to handle the merge conflicts yourself, see https://www.sqlite.org/session/sqlite3changeset_apply.html

    So you need to be carful how you design your schema, but very possible.

    One option is to use something like Yjs and a JSON column to get proper CRDTs for merging.

    https://github.com/yjs/yjs

  • berty

    Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network

    Project mention: when someone mentions web3 | reddit.com/r/linuxmemes | 2022-01-12

    It sounds similar, although not in all aspects, to what berty is, is it relevant?

  • offline-plugin

    Offline plugin (ServiceWorker, AppCache) for webpack (https://webpack.js.org/)

    Project mention: Meteor with Webpack in 2018 — Faster compilation and better source handling | dev.to | 2021-07-29

    For example, you have a Progressive Web Application using Service Workers, written in Angular, then you have to create a service worker manifest based on your output files. We don’t have a solution for this on Meteor CLI natively. However, Webpack has a lot of community plugins such as OfflinePlugin , Workbox and many others for this problem as a solution. Just install them, and add to your webpack.config.js . Meteor-Webpack will handle it like you’re working on a pure Webpack project.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • hoodie

    :dog: The Offline First JavaScript Backend (by hoodiehq)

    Project mention: Frameworks of the Future? | dev.to | 2021-07-21

    I'm not looking for the overthrow of CRUD-through-MVC. Rather, Hobo and Hoodie seemed like advances---Hobo was sort of Rails for Rails, and Hoodie was an offline-first framework for something like what we now call Progressive Web Apps---when I tried them early in their life-cycle, but both seem to have withered away. And nobody else (that I can find) seems interested in improving graphical design (as in, "just use Material Design, or Carbon, or whatever"), cleaner parent/child relationships, automatically updating views and controllers to match changes to the models, and probably features that I don't know that I need.

  • TagSpaces

    TagSpaces is an offline, open source, document manager with tagging support

    Project mention: Bi-directional, tag-based (instead of folder) file management system? | reddit.com/r/software | 2022-01-23

    I can't find it either, so maybe it goes by a different name. But in my search I found this: Tag Spaces

  • search-index

    A persistent, network resilient, full text search library for the browser and Node.js

    Project mention: search Index with AWS- S3 is failing | dev.to | 2021-11-01

    I am able to see the above in my store, when I do a createReadStream. But when my search keyword is "version", my expected result should be only the 2nd indexed document. But it gives me both 1st and 2nd.I tried using both _SEARCH/ QUERY methods, but both r giving same wrong/additional results. I took reference from the below test folder examples:: https://github.com/fergiemcdowall/search-index/blob/master/test/src/memdown-test.js . Can someone guide on the correct approach for implementing other backend store options like AWS-S3 ?

  • redwood

    A highly-configurable, distributed, realtime database that manages a state tree shared among many peers. (by brynbellomy)

  • kolibri

    Kolibri Learning Platform: the offline app for universal education (by learningequality)

    Project mention: Ask HN: Why is there no good open-source LMS? | news.ycombinator.com | 2021-11-19
  • SyncedStore

    SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.

    Project mention: Show HN: SyncedStore CRDT – build multiplayer collaborative apps for React / Vue | news.ycombinator.com | 2021-12-08

    Hi! Great questions :)

    First of all, SyncedStore does not implement any CRDT algorithms. Credits for this go to Yjs [1] (and its author Kevin), which it uses as underlying CRDT.

    Yjs and Automerge are (afaik) the two most commonly used CRDT implementations. Both have their pros and cons, but Yjs has focused a lot on performance [2].

    Automerge has a bit friendlier "Immer style" [3] API. I'm not too familiar with @localfirst/state, but it seems to add a Redux style API on top of Automerge.

    My approach with SyncedStore was really to provide an API on top of Yjs that's as simple as possible to use in React / Vue / Svelte or plain JS app. I.e.: only use a single React Hook to observe changes, and use regular Javascript assigments to update values. The API is inspired mostly by Reactive Programming libraries such as MobX [4] (from the same author as Immer).

    Hope you're still following along :) Maybe it helps to compare the TODO-MVC applications, as both SyncedStore (https://github.com/YousefED/SyncedStore/tree/main/examples) and @localfirst/state (https://github.com/local-first-web/state/tree/main/examples/...) have implemented these as examples!

    [1]: https://github.com/yjs/yjs

  • Condensation

    Condensation is an open-source data system for building cloud applications while keeping the ownership of data.

    Project mention: CondensationDB: A database to synchronize and manage data directly on the client, servers are not necessary anymore, and you get by design end-to-end encryption, digital signatures, and data integrity, all for secure multiple user collaboration. Now open-source with the lightest code base. | reddit.com/r/programming | 2021-03-03

    As your question is a bit broad, maybe you can check first a bit the notes there https://condensation.io/ even if it's not complete, there is a point on security.

  • ObjectBox embedded database

    ObjectBox Swift - persisting your Swift objects superfast and simple

    Project mention: Help with setting up SQLite with swift | reddit.com/r/swift | 2021-02-16

    If you don‘t have SQL experience why not try an alternative to SQLite, e. g. ObjectBox? https://github.com/objectbox/objectbox-swift

  • SORMAS-Project

    SORMAS (Surveillance, Outbreak Response Management and Analysis System) is an early warning and management system to fight the spread of infectious diseases.

    Project mention: Corona Megathread KW 12 - III | Osterlockdown Special Edition | reddit.com/r/de | 2021-03-23
  • octo

    A lightweight word processor for technical writers (by voraciousdev)

    Project mention: Trouble with turning vue-ionic project to PWA | reddit.com/r/PWA | 2021-06-02

    It usually does in a new project, but I don't think it does for an existing project. Here's an example of what it would look like. https://github.com/writewithocto/octo/blob/v0.18.0/src/main.js#L13

  • PopularMovies

    :movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

  • state

    A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as 🐟 Cevitxe). (by local-first-web)

    Project mention: Show HN: SyncedStore CRDT – build multiplayer collaborative apps for React / Vue | news.ycombinator.com | 2021-12-08

    Hi! Great questions :)

    First of all, SyncedStore does not implement any CRDT algorithms. Credits for this go to Yjs [1] (and its author Kevin), which it uses as underlying CRDT.

    Yjs and Automerge are (afaik) the two most commonly used CRDT implementations. Both have their pros and cons, but Yjs has focused a lot on performance [2].

    Automerge has a bit friendlier "Immer style" [3] API. I'm not too familiar with @localfirst/state, but it seems to add a Redux style API on top of Automerge.

    My approach with SyncedStore was really to provide an API on top of Yjs that's as simple as possible to use in React / Vue / Svelte or plain JS app. I.e.: only use a single React Hook to observe changes, and use regular Javascript assigments to update values. The API is inspired mostly by Reactive Programming libraries such as MobX [4] (from the same author as Immer).

    Hope you're still following along :) Maybe it helps to compare the TODO-MVC applications, as both SyncedStore (https://github.com/YousefED/SyncedStore/tree/main/examples) and @localfirst/state (https://github.com/local-first-web/state/tree/main/examples/...) have implemented these as examples!

    [1]: https://github.com/yjs/yjs

  • quiz-app

    🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser. (by SafdarJamal)

    Project mention: Check out the QuizApp | reddit.com/r/reactjs | 2021-04-16

    I just found this quiz app on GitHub that I think is a good project for React beginners to look at. It has a nice UI/UX and the source code looks good too.

  • Posts-MVVM-DaggerHilt-Dynamic-Feature-RxJava3-Flow-Sample

    Posts Api sample with Kotlin RxJava3/Coroutines Flow, Clean Architecture, Offline first/last with Room + Retrofit2, Dagger Hilt, Dynamic Feature Modules, Static Code Analysis, Gradle DSL, MockK+ MockWebServer with Test Driven Development including Api and Database tests

  • react-prime

    A starter kit to create comprehensive React apps with React-Query and Styled-Components.

    Project mention: Where do you guys keep your types | reddit.com/r/typescript | 2021-05-05

    Depends on the type. Anything local I do in a types.ts file in the same folder as where I will use the type. Anything "global" I import/export from a single file and when you want to use any of these types you can import them like so. Makes it really easy to use and see what types are available and which are meant to be global.

  • Teller

    Android library that manages your app's cached data with ease.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-23.

offline-first related posts

Index

What are some of the best open-source offline-first projects? This list will help you:

Project Stars
1 react-boilerplate 28,216
2 RxDB 16,895
3 gun 15,368
4 workbox 10,498
5 yjs 6,294
6 berty 5,192
7 offline-plugin 4,453
8 hoodie 4,262
9 TagSpaces 2,474
10 search-index 1,251
11 redwood 551
12 kolibri 492
13 SyncedStore 488
14 Condensation 414
15 ObjectBox embedded database 348
16 SORMAS-Project 254
17 octo 213
18 PopularMovies 161
19 state 122
20 quiz-app 93
21 Posts-MVVM-DaggerHilt-Dynamic-Feature-RxJava3-Flow-Sample 64
22 react-prime 32
23 Teller 13
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms