All Projects → CloudBoost → Cloudboost

CloudBoost / Cloudboost

Licence: apache-2.0
Realtime JavaScript Backend.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Cloudboost

Covid Qa
API & Webapp to answer questions about COVID-19. Using NLP (Question Answering) and trusted data sources.
Stars: ✭ 283 (-79.46%)
Mutual labels:  api, search
Manticoresearch
Database for search
Stars: ✭ 610 (-55.73%)
Mutual labels:  api, search
Sapphiredb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core
Stars: ✭ 326 (-76.34%)
Mutual labels:  realtime-database, realtime
space-cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,405 (+147.1%)
Mutual labels:  realtime, baas
Lara Eye
Filter your Query\Builder using a structured query language
Stars: ✭ 39 (-97.17%)
Mutual labels:  api, search
Pushpin
Proxy server for adding push to your API
Stars: ✭ 3,050 (+121.34%)
Mutual labels:  api, realtime
Event Reduce
An algorithm to optimize database queries that run multiple times
Stars: ✭ 589 (-57.26%)
Mutual labels:  realtime-database, realtime
Laravel Api Handler
Package providing helper functions for a Laravel REST-API
Stars: ✭ 150 (-89.11%)
Mutual labels:  api, search
Realtime Newsapi
Financial News Aggregator - Real Time & Query API for Financial News
Stars: ✭ 34 (-97.53%)
Mutual labels:  api, realtime
Duckduckgo
An unofficial DuckDuckGo search API.
Stars: ✭ 6 (-99.56%)
Mutual labels:  api, search
acebase
A fast, low memory, transactional, index & query enabled NoSQL database engine and server for node.js and browser with realtime data change notifications
Stars: ✭ 288 (-79.1%)
Mutual labels:  realtime, realtime-database
Duckduckgo Images Api
DuckDuckGo Image Search Resuts - Programatically download Image Search Results
Stars: ✭ 48 (-96.52%)
Mutual labels:  api, search
Mercure
Server-sent live updates: protocol and reference implementation
Stars: ✭ 2,608 (+89.26%)
Mutual labels:  api, realtime
Crawlertutorial
爬蟲極簡教學(fetch, parse, search, multiprocessing, API)- PTT 為例
Stars: ✭ 282 (-79.54%)
Mutual labels:  api, search
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-86.36%)
Mutual labels:  api, baas
Para
Open source back-end server for web, mobile and IoT. The backend for busy developers. (self-hosted or hosted)
Stars: ✭ 389 (-71.77%)
Mutual labels:  api, baas
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+857.18%)
Mutual labels:  api, realtime
Stelace
Open-source marketplace backend in Node.js, empowering Web platforms with Search API, Automation, Auth, Headless CMS… ⚡ 💻
Stars: ✭ 144 (-89.55%)
Mutual labels:  api, search
Angularfire
The official Angular library for Firebase.
Stars: ✭ 7,029 (+410.09%)
Mutual labels:  realtime-database, realtime
Kotlin Firebase Group Chat
Group and OneonOne chat using firebase built in Kotlin similar to whatsapp.
Stars: ✭ 44 (-96.81%)
Mutual labels:  realtime-database, realtime

Build Status OpenCollective

CloudBoost is the complete cloud platform for your app. Think of CloudBoost as Parse + Firebase + Algolia + Iron.io all combined into one :

  • Data-Storage / JSON Storage / BLOB Storage
  • 100% data ownership
  • Realtime
  • Search
  • More - ACL's, User Authentication, and more.

CloudBoost also has a managed service, so you don't have to install or configure anything. You can sign up for the managed service here.

Deploy with Docker (recommended)

You can install CloudBoost anywhere you like. We have a Docker Compose file that can help you get started with CloudBoost in few minutes and with just one command. You can use this compose file to install the service locally on your local dev machine, or you can install the service to Azure, AWS, DigitalOcean, Softlayer, Packet and more.

Check out our Docker Compose file here.

Running the server without Docker

Important: Before you begin you need to install MongoDB 3.4 and Redis 3.0 on your machine to run this project.

Step 1 : Git clone the project.

git clone https://github.com/CloudBoost/cloudboost.git

Step 2 : Change directory to CloudBoost.

cd cloudboost

Step 3 : NPM Install.

npm install

Note : NPM requires NodeJS to be installed on your machine. If you don't have NodeJS, you need to install it from here : https://nodejs.org/en/download/

Step 4 : Edit cloudboost.json.

Create a config folder in project root if it does not exist. You need to create a new file cloudboost.json under config folder and save that file with MongoDB and Redis configuration. Here's a sample file :

{
 "mongo" : [{
   "host" : "localhost",
   "port" : "27017"
 }],
 "redis" : [{
       "host" : "127.0.0.1",
       "port" : 6379       
   }]
}

Step 5 : Edit smtp.json.

In the config folder. Creare a new file called smtp.json. You need to create an account at MailGun (https://www.mailgun.com/) and get an API Key. This will help CloudBoost to send emails on your behalf. Here's a quick example :

{
  "provider"  : "mailgun",		
  "apiKey"    : "XXXXXXXXXXXXXXXXXXXXXXX",
  "domain"    : "cloudboost.io",
  "fromEmail" : "[email protected]",
  "fromName"  : "CloudBoost.io"  
}

Step 6 : Enable HTTPS. (Optional)

If you want to enable HTTPS, place your certificate file cert.crt and key key.key in the config folder.

Step 7 : Run the server.

Make sure both Redis and MongoDB are running and then run the CloudBoost server

node server.js

Once the server is running. You'll see the ClusterKey and SecureKey on the console which means you've successfully started CloudBoost. If you don't see any of these keys, please raise a GitHub issue and let us know.

Once the server is running, You can

Once started, you'll see the CloudBoost Secure Key on the console. This is important, Please save it for future use. Secure Key helps you create / delete apps.

Create an app

To create an app, You need to :

        REQUEST TYPE : POST
        URL : <YOUR_SERVER_URL>/app/<APP ID>
        REQUEST BODY :
        {
            secureKey : YOUR_SECURE_KEY
        }

For Example (in curl) :

curl -H "Content-Type: application/json" -X POST -d '{"secureKey":"xxxxxx-yyyy-xxxx-yyyyy-xxx"}' http://localhost:4730/app/app1

Creating a table

Table lets you store any structured data in your app. To create one, check this documentation out.

Delete an app

To delete an app, You need to :

        REQUEST TYPE : DELETE
        URL : <YOUR_SERVER_URL>/app/<APP ID>
        REQUEST BODY :
        {
            secureKey : YOUR_SECURE_KEY
        }

For Example (in curl) :

        curl -H "Content-Type: application/json" -X DELETE -d '{"secureKey":"xxxxxx-yyyy-xxxx-yyyyy-xxx"}' http://localhost:4730/app/app1

Once your app is ready, You can then get the latest SDK from https://tutorials.cloudboost.io. Remember to save the SDK in your project. and You can then init your app by :

CB.CloudApp.init('Your Server URL', 'Your App ID', 'Your App Key');

You can then follow rest of the documentation from https://tutorials.cloudboost.io. You can also check out API Reference on https://docs.cloudboost.io

JavaScript SDK

JavaScript SDK can be found in the sdk folder of this repo.

NPM Installation

npm install cloudboost

NodeJS Usage

var CB = require('cloudboost');

Bower Installation

bower install cloudboost

JavaScript Usage

<script src="bower_components/cloudboost/dist/cloudboost.js"></script>

Module Bundlers

// For ES6/ES7 , TypeScript(typings included)
import * as CB from 'cloudboost';

//For ES5 (requireJs)
var CB = require('cloudboost');

Sample Code

// AppID and AppKey are your App ID and key of the application created in CloudBoost Dashboard.

//Init your Application
CB.CloudApp.init('YourAppId','YourAppKey');

//Data Storage : Create a CloudObject of type 'Custom' (Note: You need to create a table 'Custom' on CloudBoost Dashboard)

var obj = new CB.CloudObject('Custom');

//Set the property 'name' (Note: Create a column 'name' of type text on CloudBoost Dashboard)
obj.set('name','CloudBoost');

//Save the object
obj.save({
    success:function(res){
        console.log("object saved successfully");
    },
    error:function(err){
        console.log("error while saving object");
    }
});

Cluster Maintenance, Scale, and Updates

CloudBoost runs on MongoDB and Redis. You're responsible for managing the uptime, replication, sharding, backups of your data in each of these databases.

You also need to update CloudBoost with every new release and you need to configure your server to auto-scale it. If you're using Docker, the image is released at the latest tag and you need to check for new releases atleast once a month.

Using our hosted and managed service helps you to save time, development costs, and eliminates managing your own cluster of servers which is cheaper long-term. We recommend using the hosted service if you're running production apps.

App Settings

To read more about app settings, check Click here

Support

Contributing

Pull requests are very welcome!

We'd love to hear your feedback and suggestions in the issue tracker.

LICENSE

Copyright 2020 HackerBay, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].