/meldio

Open Source GraphQL Backend for Building Delightful Mobile and Web Apps - https://www.meldio.com

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Meldio Development Server Build Status Coverage Status

Meldio is an open source GraphQL backend for building delightful mobile and web apps.

Meldio provides three key benefits over the existing solutions:

  • Blazing Takeoff. Meldio allows you to describe data elements in a few lines of intuitive schema definition language and get a powerful GraphQL endpoint with filtering, ordering, paging and aggregation queries that works great with React and Relay.
  • Ultimate Versatility. With Meldio, complex data mutations are defined with modern JavaScript and beautiful APIs. Mutations run entirely on the server, enabling code reuse across mobile, web and desktop and access to more than 250,000 npm packages.
  • Flexible Security. Meldio allows you to setup the social and password logins, then configure functional authorization to the security model most suitable for your app, whether it is ACL, role-based, attribute-based or anything in between.

Need help?

Installation and Setup

See our start building guide for detailed instructions.

First, we will install two Meldio dependencies, Node.js and MongoDB. Once Node.js and MongoDB are in place, Meldio setup is super simple.

Node.js

The recommended way to install Node.js is with NVM. Please consult nvm installation instructions and then install NVM with the following command:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

Once NVM is installed, open a new terminal window and install Node.js with the following:

nvm install node && nvm alias default node

This will install the latest version of Node.js and alias it as node. Open a new terminal window and confirm Node.js is set up correctly with node --version command. This should print the latest version of Node.js.

MongoDB

The recommended way to install MongoDB on an OS X system is with brew package manager, like this:

brew update && brew install mongodb

It is easiest to configure the system to launch MongoDB on startup using the following commands:

ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Alternatively, use the following command to start the mongo daemon as needed:

mongod --config /usr/local/etc/mongod.conf

For MongoDB installation on various Linux distributions, please consult the MongoDB documentation here.

Meldio

To install Meldio, run the following:

npm install -g meldio

If the system permissions require sudo for installing global npm modules, the command above will not work. Instead, run npm with sudo like this: sudo npm install -g meldio

Installation from Source

Once Node.js and MongoDB are in place, you can also install Meldio from source using the following steps:

git clone https://github.com/meldio/meldio.git
cd meldio
npm install
npm run test
npm run build
npm install -g

Next Steps

Check out our start building guide or get started with some cool examples.

License

This code is free software, licensed under the The GNU Affero General Public License v3 (AGPL-3). See the LICENSE file for more details.