In a Backendless backend you can restrict access to API operations and/or application data. A restriction may apply either to specific users or to roles. When a restriction applies to a role, it automatically applies to the users in that role. For example, suppose you have two roles in a job-searching application – employer and job-candidate. Each role will have a certain set of permissions, for instance an employer can see all the candidates who applied for a job.
Backendless supports two types of roles – system-defined and developer-defined roles. System roles automatically come with the backend, Backendless assigns them based on how user logs in or accesses the app. For example, the AuthenticatedUser role is assigned to any users who successfully logs in.
It is a common use case when two or more users try (or need) to login to an application using the same user ID and password combination. Some applications allow it (for example, Netflix supports concurrent logins with the same credentials from different devices) and other apps restrict it. With Backendless you can easily configure your backend to support either way of handling multiple logins without writing a single line of code. To configure the multiple login policy:
Since today is a saturday let’s review a fun feature – ROI (return on investment) calculator. That many sound like a boring subject, but we sure tried to make it fun. Indeed, if you are a developer and are tasked to figure out how a product or a service can save money, it may be a daunting task. Certainly not with Backendless. First of all you can start with our service at no cost all – the Backendless free plan is very generous with unlimited API calls and no request per second throttling. On top of this, Backendless will tell you how much money you’re saving just by using it. Here’s how you can find out:
Loading data objects from the Backendless persistent storage is a fundamental operation a large majority of the online/mobile applications require. Backendless data retrieval API is simple, yet very powerful. As you will learn in the course of this series, the API provides the following capabilities:
In this post we continue our mission to build a restaurant to-go order app. So far we have put together UI mockups for the future Backendless application, and designed data schema for all application’s data entities. At this point we got very close to the coding part. As the title of this article suggests, we will be generating some code, but before we do it, let me describe a core principle of the client-server integration with Backendless.
As soon as you have data in a persistent storage, the question of searching would be one of the first to come up. Indeed, how can you query the backend for data? We considered multiple options and settled on the most popular one – SQL. However, we had to take a few shortcuts to allow SQL searches – the most notable is you can use only the “where” part of an SQL query to search for your data. Consider the following data table:
Backendless can create tables when you store object hierarchies from a client application. Also, I described how to manually create data tables using Backendless console. Finally, there is one more approach which makes table creation as simple as it gets. The approach is by uploading a file which contains schema definition for every table. The schema definition may include data types for all columns, including the ones for relations. As a part of my quest to build a restaurant to-go order app, I created all the tables in my Backendless backend. I used the schema export feature (to be discussed in the future) which generated for me a ZIP file with the schema definitions for all the tables used by the app.
A few posts ago I published a proposed schema for the database design for a sample app which can process mobile to–go orders. As the first step in building the application, I put together a rather simplistic user interface mockup for the future app. You can see the mockup below:
The next step will be a series of posts where we design the client-side of the app for Android and iOS. Additionally, we will be exploring and reviewing various Backendless features as we move along.
In my post yesterday I showed how to declare relationships between tables. Once a relationship is in place, specific objects stored in the tables may be linked with each other. This linkage may be expressed through the code, where the instances of classes reference each other through the composition method. However, there are scenarios where these relationships may need to be created directly in the storage system. Backendless console is the development tool that lets you manage it using a graphical interfaces. The types of relationships you can build by hand can be either one-to-one or one-to-many. As a result of establishing a relationship between any two or more objects, you can retrieve the related objects using the API. For instance, in the example below a restaurant object will have a relationship with one or more location. When the restaurant object is retrieved via an API call, all the related locations can be retrieved as well.