Easy to develop

You can develop your apps in Java or Python. Frameworks for both the languages are open to all with MIT License.

Framework for python is packaged and available in the central pypi repository.

Framework for Java is packaged and available in the maven repository.

The framework is designed in such a way that you don't have to remember any of it's APIs and instead the framework will remember yours.

Easy to input the general information regarding your app like the permissions that your apps expose, url for serving static files, etc.

You can input all such information in one YAML file.

Security

Any API that you write can identify whom it is requested from, be it a user or an app or just an anonymous request.

Before accessing your API handler, the framework takes care of the authentication.

Authorization for your API is taken care by the framework. All you need to do is just define the permissions for your APIs.

Defining permissions for your APIs is as simple as adding a parameter to a function call

Messages

Your app can post alert messages to users or a group of users. Messages can be used to convey a real time event to the user(s) concerned.

You can associate a link to every message your app post so that the user can act on it.

Example, if an employee raises a leave request, you can post this as a message to the employee's manager and the link associated with that message will lead him/her to a page where he/she can approve or disapprove the leave request.

You can also associate a backend API to your messages. This will help you in getting a callback to any action performed on those messages.

Example, conside a chat application. Whenever a customer initiates a chat session, you post it to the corresponding group that handles the customer's concern. Now if a user named 'X' reads it and joins the chat session, your app would get a notification about it and you can either delete the message or modify the message saying that user 'X' accepted this session.

Central Dashboard

Every user will have customized dashboard view depending on his/her permissions on a server.

Your apps can contribute to a user's dashboard. This is possible by hooking the dashboard API, and registering a handler for it

Testing kit

Testing kit supports testing your app in a multi user environment locally in your machine.

Learn more

Testing kit validates your app's packaging. This helps in fixing bugs upfront before submitting it the aalam cloud platform.

You can even test your apps' update/migration path from one version to another version.

App Dependencies

Your app can use other well know apps' APIs. For example, if there's an invoicing application available already and if it has documented its APIs, you can use them in your app.

This saves you time, and helps you concentrate on the core problem of your app.

You can configure your list of dependencies on your PKG-INFO file, so that whenever your app is installed or updated, your app's dependencies and their versions are checked for compatibility.

There are more than one ways to use other apps.

  • Using hooks
  • By calling the necessary API directly

Team development

If you are a team of developers, you can add your team to your provider account.

All your team members can submit apps and publish them as well.

Other features

Single sign-on for your provider account and the cloud account. You don't need to create a separate account to create servers in our cloud.

Documentation support for your APIs. Its very easy to generate documentation for your APIs if your app is written in Python.