{"id":13394270,"url":"https://github.com/CloudBoost/cloudboost","last_synced_at":"2025-03-13T20:31:24.761Z","repository":{"id":3963548,"uuid":"51300227","full_name":"CloudBoost/cloudboost","owner":"CloudBoost","description":"Realtime JavaScript Backend. ","archived":false,"fork":false,"pushed_at":"2025-03-09T07:36:26.000Z","size":68876,"stargazers_count":1442,"open_issues_count":346,"forks_count":151,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-03-09T08:24:43.462Z","etag":null,"topics":["api","baas","backend-as-a-service","backend-services","backendless","cloud-platform","docker","realtime","realtime-database","search","storage-api"],"latest_commit_sha":null,"homepage":"https://www.cloudboost.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CloudBoost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"cloudboost"}},"created_at":"2016-02-08T13:45:32.000Z","updated_at":"2025-03-05T03:14:56.000Z","dependencies_parsed_at":"2023-07-06T05:55:39.140Z","dependency_job_id":"4a5ce5ab-7812-42e9-a695-fa1129b343af","html_url":"https://github.com/CloudBoost/cloudboost","commit_stats":{"total_commits":692,"total_committers":27,"mean_commits":25.62962962962963,"dds":0.7976878612716762,"last_synced_commit":"aa4564056047fb6ec804590f323b7f0a2a010e3b"},"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudBoost%2Fcloudboost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudBoost%2Fcloudboost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudBoost%2Fcloudboost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudBoost%2Fcloudboost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CloudBoost","download_url":"https://codeload.github.com/CloudBoost/cloudboost/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243475365,"owners_count":20296711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","baas","backend-as-a-service","backend-services","backendless","cloud-platform","docker","realtime","realtime-database","search","storage-api"],"created_at":"2024-07-30T17:01:14.430Z","updated_at":"2025-03-13T20:31:24.735Z","avatar_url":"https://github.com/CloudBoost.png","language":"JavaScript","readme":"\u003cimg src=\"https://www.dropbox.com/s/gpdhpr3c63dquby/CLoudBoostLogo-Circle-250.png?dl=0\u0026raw=1\" height=\"150\" style=\"text-align: center;\" /\u003e\n\n[![Build Status](https://travis-ci.org/CloudBoost/cloudboost.svg?branch=master)](https://travis-ci.org/CloudBoost/cloudboost)\n[![OpenCollective](https://opencollective.com/cloudboost/backers/badge.svg)](#backers) \n\nCloudBoost is the complete cloud platform for your app. **Think of CloudBoost as Parse + Firebase + Algolia + Iron.io all combined into one** :\n - Data-Storage / JSON Storage / BLOB Storage\n - 100% data ownership\n - Realtime\n - Search \n - More - ACL's, User Authentication, and more.\n\nCloudBoost also has a [managed service](https://www.cloudboost.io), so you don't have to install or configure anything. You can sign up for the managed service [here.](https://www.cloudboost.io)\n\n\n## Deploy with Docker (recommended)\n\nYou 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.\n\n[Check out our Docker Compose file here.](https://github.com/CloudBoost/docker)\n\n## Running the server without Docker\n\n**Important:** Before you begin you need to install MongoDB 3.4 and Redis 3.0 on your machine to run this project. \n\n### Step 1 : Git clone the project.\n\n`git clone https://github.com/CloudBoost/cloudboost.git`\n\n### Step 2 : Change directory to CloudBoost.\n\n`cd cloudboost`\n\n### Step 3 : NPM Install.\n\n`npm install`\n\nNote : 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/\n\n### Step 4 : Edit cloudboost.json.\n\nCreate 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 :\n\n```\n{\n \"mongo\" : [{\n   \"host\" : \"localhost\",\n   \"port\" : \"27017\"\n }],\n \"redis\" : [{\n       \"host\" : \"127.0.0.1\",\n       \"port\" : 6379       \n   }]\n}\n```\n\n### Step 5 : Edit smtp.json.\n\nIn 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 :\n\n```\n{\n  \"provider\"  : \"mailgun\",\t\t\n  \"apiKey\"    : \"XXXXXXXXXXXXXXXXXXXXXXX\",\n  \"domain\"    : \"cloudboost.io\",\n  \"fromEmail\" : \"hello@cloudboost.io\",\n  \"fromName\"  : \"CloudBoost.io\"  \n}\n```\n\n### Step 6 : Enable HTTPS. (Optional)\n\nIf you want to enable HTTPS, place your certificate file `cert.crt` and key `key.key` in the config folder.\n\n### Step 7 : Run the server.\n\nMake sure both Redis and MongoDB are running and then run the CloudBoost server  \n\n`node server.js`\n\nOnce 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.\n\n\n## Once the server is running, You can\n\nOnce started, you'll see the CloudBoost Secure Key on the console. This is important, Please save it for future use.\nSecure Key helps you create / delete apps.\n\n### Create an app\n\nTo create an app, You need to  :\n\n```\n        REQUEST TYPE : POST\n        URL : \u003cYOUR_SERVER_URL\u003e/app/\u003cAPP ID\u003e\n        REQUEST BODY :\n        {\n            secureKey : YOUR_SECURE_KEY\n        }\n```\n\nFor Example (in curl)  :\n\n```\ncurl -H \"Content-Type: application/json\" -X POST -d '{\"secureKey\":\"xxxxxx-yyyy-xxxx-yyyyy-xxx\"}' http://localhost:4730/app/app1\n\n```\n\n### Creating a table\n\nTable lets you store any structured data in your app. To create one, [check this documentation out](https://tutorials.cloudboost.io/en/schema/cloudtables).\n\n### Delete an app\n\nTo delete an app, You need to  :\n\n```\n        REQUEST TYPE : DELETE\n        URL : \u003cYOUR_SERVER_URL\u003e/app/\u003cAPP ID\u003e\n        REQUEST BODY :\n        {\n            secureKey : YOUR_SECURE_KEY\n        }\n```\n\nFor Example (in curl) :\n\n```\n        curl -H \"Content-Type: application/json\" -X DELETE -d '{\"secureKey\":\"xxxxxx-yyyy-xxxx-yyyyy-xxx\"}' http://localhost:4730/app/app1\n\n```\n\nOnce 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 :\n\n`CB.CloudApp.init('Your Server URL', 'Your App ID', 'Your App Key');`\n\nYou can then follow rest of the documentation from https://tutorials.cloudboost.io. You can also check out API Reference on https://docs.cloudboost.io\n\n## JavaScript SDK\n\nJavaScript SDK can be found in the `sdk` folder of this repo. \n\n### NPM Installation\n```\nnpm install cloudboost\n```\n\n### NodeJS Usage\n\n``` js\n\nvar CB = require('cloudboost');\n\n```\n\n### Bower Installation\n```\nbower install cloudboost\n```\n\n### JavaScript Usage\n\n``` js\n\u003cscript src=\"bower_components/cloudboost/dist/cloudboost.js\"\u003e\u003c/script\u003e\n```\n\n### Module Bundlers\n\n``` js\n// For ES6/ES7 , TypeScript(typings included)\nimport * as CB from 'cloudboost';\n\n//For ES5 (requireJs)\nvar CB = require('cloudboost');\n\n```\n\n### Sample Code\n\n``` js\n\n// AppID and AppKey are your App ID and key of the application created in CloudBoost Dashboard.\n\n//Init your Application\nCB.CloudApp.init('YourAppId','YourAppKey');\n\n//Data Storage : Create a CloudObject of type 'Custom' (Note: You need to create a table 'Custom' on CloudBoost Dashboard)\n\nvar obj = new CB.CloudObject('Custom');\n\n//Set the property 'name' (Note: Create a column 'name' of type text on CloudBoost Dashboard)\nobj.set('name','CloudBoost');\n\n//Save the object\nobj.save({\n    success:function(res){\n        console.log(\"object saved successfully\");\n    },\n    error:function(err){\n        console.log(\"error while saving object\");\n    }\n});\n\n```\n\n## Cluster Maintenance, Scale, and Updates\n\nCloudBoost runs on MongoDB and Redis. You're responsible for managing the [uptime](https://en.wikipedia.org/wiki/Uptime), [replication](https://en.wikipedia.org/wiki/Replication_(computing)), [sharding](https://en.wikipedia.org/wiki/Shard_(database_architecture)), [backups](https://en.wikipedia.org/wiki/Backup) of your data in each of these databases. \n\nYou also need to update CloudBoost with every [new release](https://github.com/cloudboost/cloudboost/releases) and you need to [configure your server to auto-scale it](https://www.brianchristner.io/how-to-scale-a-docker-container-with-docker-compose/). 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. \n\n[Using our hosted and managed service](https://www.cloudboost.io) 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. \n\n## App Settings\nTo read more about app settings, check [Click here](https://github.com/CloudBoost/cloudboost/tree/master/docs/app-settings)\n\n# Support\n\n- Report bugs and feature requests on [GitHub issue tracker](https://github.com/CloudBoost/cloudboost/issues). \n- You can reach out to us on [Slack](https://slack.cloudboost.io). All of our engineers hangout here. \n- [StackOverflow](//stackoverflow.com/questions/tagged/cloudboost) : Tag your questions with `cloudboost` tag, so that we're notified.\n- Email: [support@cloudboost.io](mailto:support@cloudboost.io)\n- Twitter: [@cloudboostio](https://twitter.com/cloudboostio)\n\n# Contributing\n\n[Pull requests](https://help.github.com/articles/about-pull-requests/) are very welcome!\n\nWe'd love to hear your feedback and suggestions in the [issue tracker](https://github.com/CloudBoost/cloudboost/issues).\n\n\n# LICENSE\n\nCopyright 2020 HackerBay, Inc. \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n","funding_links":["https://opencollective.com/cloudboost"],"categories":["JavaScript","docker","realtime"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCloudBoost%2Fcloudboost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCloudBoost%2Fcloudboost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCloudBoost%2Fcloudboost/lists"}