Appery.io Database is a cloud database for storing any information or data for your app. For example, you can store app users, orders, purchases, pictures — or anything else that your app needs to store.
The database is running in the cloud, this means that the app connects to the database via REST API.
The database has two types of collections or tables: pre-defined and custom.
There are three pre-defined collections:
- Users – for managing users. For example, you can add user login and registration to an app.
- Files – for storing files.
- Devices – device information which have registered to receive Push Notifications. This collection is used to send targeted Push Notifications. For example, send a message to all users who subscribed to get news about travel.
In addition to the pre-defined collections which are automatically available in each new database, you can create any number of custom collections (tables). Custom collections can hold any data.
A collection can have any number of columns to hold the data. The following column data types are supported:
- Pointer – reference to another collection
- Geopoint – geolocation point expressed as latitude, longitude
The database is accessed via a REST API. An API key is required to access any database collection. Further security can be added by making a database secure – this means a user login will be required before a database can be accessed from the app. The user is kept in the Users collection.
In addition to using the built-in Users collection for user management, login into an app can also be accomplished via social networks: Facebook, Twitter and Google.
More security and permissions can be specified via ACL (Access Control List). Every new records/object created in the database can have specific access control information. For example, only the user who created this object can read and write this object. Everyone else can only read the object.
A special master key is also available which gives a root-like access to the database.
The Database has a built-in Versioning feature. It allows to create an instance (copy) of the database and restore it at any point.
The Database is nicely integrated with the Server Code component. Server Code provides elegant API to access the database from a server-side script.