Giter Site home page Giter Site logo

masylum / electric Goto Github PK

View Code? Open in Web Editor NEW

This project forked from electric-sql/electric

0.0 1.0 0.0 32.46 MB

Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

Home Page: https://electric-sql.com

License: Apache License 2.0

Shell 0.01% JavaScript 0.04% Erlang 0.17% Elixir 54.76% TypeScript 39.93% Makefile 0.27% HTML 3.92% PLpgSQL 0.84% Dockerfile 0.06%

electric's Introduction

ElectricSQL logo

Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

CI License - Apache 2.0 Status - Alpha Chat - Discord

ElectricSQL

Sync for modern apps. From the inventors of CRDTs.

Quick links

What is ElectricSQL?

ElectricSQL is a local-first software platform that makes it easy to develop high-quality, modern apps with instant reactivity, realtime multi-user collaboration and conflict-free offline support.

Local-first is a new development paradigm where your app code talks directly to an embedded local database and data syncs in the background via active-active database replication. Because the app code talks directly to a local database, apps feel instant. Because data syncs in the background via active-active replication it naturally supports multi-user collaboration and conflict-free offline.

How do I use it?

ElectricSQL gives you instant local-first for your Postgres. Think of it like "Hasura for local-first". Drop ElectricSQL onto an existing Postgres-based system and you get instant local-first data synced into your apps.

ElectricSQL then provides a whole developer experience for you to control what data syncs where and to work with it locally in your app code. See the Introduction and the Quickstart guide to get started.

Repo structure

This is the main repository for the ElectricSQL source code. Key components include:

  • clients/typescript — Typescript client that provides SQLite driver adapters, reactivity and a type-safe data access library
  • components/electric — Elixir sync service that manages active-active replication between Postgres and SQLite
  • generator — Prisma generator that creates the type safe data access library
  • protocol/satellite.proto — Protocol Buffers definition of the Satellite replication protocol

See the Makefiles for test and build instructions and the e2e folder for integration tests.

Team

ElectricSQL was founded by @thruflo and @balegas, under the guidance of:

See the Team and Literature pages for more details.

Contributing

See the Community Guidelines including the Guide to Contributing and Contributor License Agreement.

Support

We have an open community Discord. Come and say hello and let us know if you have any questions or need any help getting things running.

It's also super helpful if you leave the project a star here at the top of the page☝️

electric's People

Contributors

adeleke5140 avatar alco avatar arve0 avatar balegas avatar breckenedge avatar brunobuddy avatar cpursley avatar davidmartos96 avatar define-null avatar dependabot[bot] avatar fooware avatar github-actions[bot] avatar gregzo avatar hackerrahul avatar icehaunter avatar js2702 avatar kevin-dp avatar klavinski avatar kyleamathews avatar magnetised avatar mentalgear avatar robbwdoering avatar samuelcivalgo avatar samwillis avatar sebws avatar tachyonicbytes avatar thorwebdev avatar thruflo avatar v0idpwn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.