Search code examples
node.jsmongodbelectroncouchdbdesktop-application

Electron Desktop Application communicating with remote NoSql server


I've begun to dive into developing a desktop application with electron. I have been interested in pairing this application with a NoSQL database to create users, display data, and do CRUD operations. I've considered databases such as MongoDB and CouchDB, and I'm curious if creating a desktop application that communicates with a database hosted elsewhere is a feasible goal.

I'm hoping that someone here can help direct me to great resources on creating a desktop application that works with a remote NoSQL database. Any advice here would be greatly appreciated!


Solution

  • I recommend the use of CouchDB, which uses a JSON based document format. CouchDB bundles the server and data storage functionality in a single product, providing a REST-like HTTP interface for document insertion, updates, retrieval and deletion.

    Therefore, you'll be able to interact with CouchDB directly from within the Electron desktop application. Apache CouchDB Nano is the official Node.js library for accessing CouchDB.

    The following additional factors speach for CouchDB:

    • It is open source.
    • It has comprehensive documentation.
    • It is available for Linux, macOS and Windows.
    • It's easily installed and quickly set up.
    • It can be installed on your local computer (for development), on your own servers, or in the cloud.
    • It supports Mango querying language (inspired from MongoDB).
    • It is highly scalable.
    • It is shipped with Fauxton web interface that lets you create, update, delete, view and query documents on the fly.
    • etc.