Prototype. Develop. Deliver.
Raimme is a platform for building applications. It brings the whole stack of a regular app into the cloud.
Data storage, business logic, UI and integrations through API are all provided out-of-the-box on the Raimme platform.
Whether you want to build a small CRM, an Internet store or an extensive data-based system, Raimme has all the tools you need to start right away.
|DAL query language|
|API / Integration|
|Calendar & Events|
DatabaseRaimme is a platform for building data-based applications, and data management is the very core of the Platform. The Raimme database offers classic representation of data structures in tables (types) and columns (fields). Added on top of this is:
- data persistence - the whole data model is automatically reflected in Java classes and available from Java code
- relationships between objects
- a wide range of data types
- data constraints such as uniqueness, default values, calculated checks
- field history tracking
- fine-grained permissions and access control
Data viewsAs you create your data model using Raimme types, views for accessing your data are generated automatically on the fly and provided out of the box. As soon as you create your type, you and your users are provided with auto-generated forms for entering your data, lists for browsing it, and pages where record details can be presented.
Data relationshipsRaimme data structure is based on types and fields, much alike the good old relationship databases. The good news is, Raimme provides also out-of-the-box support for:
- one-to-one relationships
- one-to-many relationships
- many-to-many relationships
- access related objects in data views
- extract a record and all its related records in a single DAL query
- inherit access permissions from the parent object to its children
DAL query languageDAL is a query language based on the good old SQL syntax, but enriched with extensions to query relationships. Instead of building complex JOINS between database tables, you can query a record and all its related objects as simply as:
// query customer, their address and value of all their ordersClassic features of SQL such as the LIMIT, OFFSET, GROUP BY keywords along with aggregate functions are available as well.SELECT name, address.city, address.country, orders.amount FROM com.webstore.Customer WHERE age > 18
Database triggersTriggers allow you to enhance the built-in database operation with your own custom handlers. You can create custom Java snippets and inject them before and after database insert, update and delete operations.
API / IntegrationWith just a few clicks you can build integrations both with external systems, vendors and data sources. Raimme gives you the possibility to:
- build and expose own REST API
- use Raimme's built-in REST services for accessing data
- call external REST services
- utilize the built-in OAuth 2.0 support
Mobile accessDownload the Raimme Android app and access Raimme environments from your mobile devices. Any data available in the Raimme cloud is automatically available for the mobile app, giving your users instant access to all the features of the system.
Public sitesWhether you want to build a customer-facing Web portal, and Internet store or just give certain guest users access to selected features, Raimme's Public Sites allow you to create a regular Web site and make it accessible to unauthenticated users. Public Sites reside on the same environment as your private platform, giving you endless possibilities to combine integrate customer-facing features and internal systems.
Custom UIRaimme offers of out-of-the-box views to access your data, but you can customize it any way you want. From changing your logo and background color, to building fully-customized UI using external frontend frameworks, you can beautify your app's UI while still basing the backend and data part on the Raimme platform.
Possibilities of customization are endless, and include:
- extending or overriding default data views using rm:tags, Raimme's tag language
- create own layouts
- upload images and other resources to be embedded in your app
- creating customization per profile, user or user group
Data importsYou can import data into the Raimme database from a number of formats (CSV, Excel, plain text files), and if the format of your data is not supported, you can write your own import handlers.
AuthenticationUsers, credentials and authentication are supported out-of-the-box. Users automatically obtain access to log in features, REST API OAuth 2.0 authentication, while administrators have full control over access to the system, its specific features, data and resources. Audit features such as login history and field history tracking are also supported.
PermissionsCreate fine-grained rules as to who and how can access data in your system. Access to data, features and resources can be controlled:
- at the profile level
- at the user group level
- at user level
- read, edit, create, delete operation at the type level
- read and edit operation at the field level
- Web actions
- REST services
Custom codeBuild custom business logic in Java and extend the platform features with handlers specific to your app. In Raimme, you can:
- extend existing controllers with your own code
- override the provided data view controllers with self-built components
- intercept data base operations and handle them in a custom way using triggers
- utilize the raimme.data interfaces for inserting and updating data
- query data from Java code using the DAL query language
Cloud IDEAll the coding takes place in the browser thanks to our Cloud IDE. The code is always there, available for you to develop new features wherever you are.
Data validationIn your app you can control the data entered by users and imported from external sources in a number of ways:
- validation specific to data types: numeric values, email addresses, boolean values
- validation rules
- unique checks
- custom validation in triggers