Build a mobile app that works offline and syncs data to a central server when reconnected.
Store and query user-submitted JSON records without a fixed data schema.
Set up a multi-region database where each region writes locally and syncs changes later.
Administer the database through a browser-based dashboard without writing any code.
| apache/couchdb | d4l3k/cs418 | emqx/emqx | |
|---|---|---|---|
| Stars | 6,876 | — | 16,270 |
| Language | Erlang | Erlang | Erlang |
| Last pushed | — | 2017-04-27 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | easy | hard |
| Complexity | 4/5 | 1/5 | 4/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Erlang installed or a preconfigured VS Code dev container, full manual setup involves a configure-and-make sequence.
Apache CouchDB is a database system that stores data as JSON documents and exposes everything through a standard HTTP API. JSON is the text format widely used across the web for exchanging data, and HTTP is the same protocol browsers use to load websites. This means you can interact with CouchDB using ordinary web tools and requests, without a special client library. The defining characteristic of CouchDB is its sync capability. Multiple copies of the database, running on different servers or devices, can each accept writes independently and then synchronize their changes with each other. The database is designed to handle conflicts that arise when the same data is changed in two places at once, making it suitable for applications that need to work offline or across distributed locations. CouchDB is written in Erlang, a programming language built for reliable, concurrent systems. It ships with a browser-based administration interface called Fauxton, which you access at a local web address after starting the server. Installation instructions for Unix-like systems and Windows are provided in separate files in the repository. A development environment can be started quickly using a preconfigured container setup in VS Code, or manually by installing dependencies and running a configure and make sequence. The README is brief and points to the project's full documentation site for detailed guidance. The project is part of the Apache Software Foundation and supported by several commercial sponsors. Full documentation, a changelog, and community mailing lists are available on the project website.
A database that stores and syncs JSON documents over HTTP, letting multiple copies stay in sync across servers or devices even when offline.
Mainly Erlang. The stack also includes Erlang, HTTP, JSON.
Apache 2.0, use freely for any purpose including commercial products, as long as you include the license and copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.