evoluhq / evolu

A local-first platform designed for privacy, ease of use, and no vendor lock-in
https://evolu.dev
MIT License
1.16k stars 39 forks source link
crdt e2ee local-first offline-first react react-hooks react-native sqlite

Evolu

Local-first platform designed for privacy, ease of use, and no vendor lock-in

Local-first apps

Local-first apps allow users to own their data by storing them on their devices. Modern browsers provide API designed precisely for that. How is it different from keeping files on disk? Files are not the right abstraction for apps and cannot synchronize among devices. That's why traditional apps use the client-server architecture. But using client-server architecture also means that users' ability to use an app depends on some server that can be offline, temporarily or forever, if a company decides to ban a user or even goes bankrupt. That's unfortunate. Luckily, a way to restore data ownership exists. It's Evolu.

Documentation

For detailed information and usage examples, please visit evolu.dev.

API Reference

evoluhq.github.io/evolu

Community

The Evolu community is on GitHub Discussions, where you can ask questions and voice ideas.

To chat with other community members, you can join the Evolu Discord.

Twitter URL

Contributing

Evolu monorepo uses pnpm.

Install the dependencies with:

pnpm install

Build Evolu monorepo:

pnpm build

Start developing and watch for code changes:

pnpm dev

Start iOS developing (pnpm dev must be running too):

pnpm ios

Lint and tests:

pnpm lint test

Describe changes for release log:

pnpm changeset