The Open Source Backend for your mobile app

Your Mobile Backend Made Easy

Build your app in minutes. No vendor lock- in Deploy BaasBox anywhere you like with SDKs for iOS, Android and Javascript

Overview

BaasBox is a server that provides several back-end services for your mobile Apps and Web Applications. BaaS stands for Back-end as a Service, that is a set of middleware features exposed like services from a service provider. These features generally cover topics like user management, content management, mobile specific features like geolocation functions, check-ins, venues lists, and so on.

The “Box” in BaasBox means that all the features are in a standalone server, just like a… box. No Application Server, no Database Server, just a JVM and nothing more. All you have to do is download BaasBox, deploy it wherever you want and connect your application to the Box. You may install BaasBox on your laptop, on your server, on a PaaS provider (RedHat OpenShift, for instance) or on a IaaS provider (such as Amazon AWS).

Currently, BaasBox provides only a little subset of features, and can be used via platform’s SDK or standard HTTP REST API calls. Soon the number of functions will grow as the development will proceed. BaasBox was built with simplicity in mind. You have nothing to install but a JVM and you are ready to go.

Features

Since the 0.9.0 version it is NECESSARY to use Java 8. To upgrade from previous versions, just copy the db folder under the new release installation path. As always, BaasBox applies the necessary patches to the database but this operation cannot be undone, so we strongly suggest to perform a backup of the database directory.

Administration Console

Manage all the features of BaasBox. BaasBox has a web console that allows managing its behavior and performing administrative tasks. The console is a responsive one-page web application that performs REST calls to the BaasBox admin APIs. Signup: this API allows a user to sign up to the App. Login: checks username/ password and grants the user the right to execute other calls. Logout: allows a user to logout from the app on a specific device.

Users Management

Fetch a User profile.Allows to retrieve information about a user profile (public, private, etc.). Password recovery. Allows to reset a user password. This API is useful when a user forget their password and needs to reset it. Login through Facebook and Google+. BaasBox provides an API that allows you to connect/create your users through social networks.

Content Management

Create/modify/delete objects(Documents). A document belongs to a Collection. You can create, read, update and delete a document, provided you have access to it. Grant/revoke authorization on a single object. Grants: you can set permissions for a single user or a role name. Revokes: you can revoke permissions to a single user or a role name. Geospatial Queries.Is a special type of database query.

File Management

Create, delete and fetch files. API to create and upload a file. By default the uploaded file will be accessible only by the owner, backoffice and admin users. After the uploaded metadata (and exif data in case of images) are extracted and attached to the file. Extract content and metadata. API to extract the data of a particular file. Links. Links allow to connect documents and files to each other. They are similar to the relations in a relational database. Of course there are differences between relations and links. First of all, links have a direction, secondly they have a name.

Push Notifications

Multiapp. With this feature it will be possible to use the same backend to send push notifications to different apps published on the store. For example, developers need to use the same BaasBox to send different push notifications to differente list of users of both their free app and their corresponding paying app (In- App Purchase). Additional data for iOS & Android. Now you can send arbitrary data to your app via push notifications

DB Management

Backup/restore and reset the integrated database. The item on the console menu called DB Management allows you to perform some operations on the database. Send push to iOS and Android devices. Push notifications are messages that a user can receive using an APP that has BaasBox as back-end. Supported platforms are Android and iOS. Certificates have to be configured in the Settings of the console.

Friendship

‘Twitter style Friendship’ among users. BaasBox is able to manage relations among users, implementing a concept of friendship similar (but not identical) to the one used by Twitter. A user registered on BaasBox can “follow” another user calling the follow API.

API Access Management

API access control lets you manage which endpoints are accessible from the outside world. Each endpoint belongs to a named group, identified by a key.

Server Side Code

Server Side Scripting. This will allow you developers to extend the API provided by BaasBox with custom functions, expose new endpoints, add hooks to events on the server and schedule tasks to be executed periodically

If you have not seen them yet, we have produced another video that show the use of the engine:
Birth of a plugin

Here you will find the specific documentation Plugin Engine Docs

Download Baasbox Latest release

Do you need other informations?

Check our community on GitHub.