- speech-to-text: the user speaks into his microphone and speech is automatically converted into text inside a textarea.
- autocomplete: as the user enters characters into a field, possible matching options are shown.
- image: the user uploads an image file or take a picture with his device camera.
- audio: the user uploads an audio file or speaks into his device microphone.
- file: the user uploads one or several files of any type.
- reference: the user insert a reference to another record.
- default values: auto values such as current date, current time, randomly generated IDs or invoice numbers.
- formulas: complex SQL formula can be used to automatically calculate field values.
- tabs: related fields can be grouped into tabs inside the form.
- read-only: fields can be set as editable or locked.
- mandatory: fields can be set as mandatory.
Data is displayed in a rich tabular format for decision-making.
Users can analyze data by drilling into relationships between records. This allows to analyze the details of a particular record. Transitive relationships allow advanced data analytics. If a record a is related to a record b, which in turn is related to a record c, then the user can navigate from the record a directly into c. Such a jump can be made over an unlimited number of relationships.
HTML5 charts can be generated for any data set being visualized. When the user applies a filter on the data, the chart is updated accordingly. Statistics are numerical aggregation performed on any selected set of data.
You model business data using the concept of resource.
A resource represents a business entity that can be managed in the application. Examples include customers, orders, invoices, stock, shipments. Resource data is stored as a table in a relational database.
Fields of the table represents resource attributes such as invoice number, customer name, product price.
Furthermore, you can attach documents to resource data such as contracts, price lists, receipts.
The company’s organization structure can be modeled inside the application. You can assigned resources and users to a specific organizational unit.
Several authentication methods can be enabled on the fly. You can assign different methods for authentication to users. Some users can use a basic authentication while other users have to use a strong one.
- basic authentication: user enters an email and password.
- 2-Factor authentication: after basic authentication, the user should enter an SMS token, a voice token or a smartphone token. Authy service is used for this type of strong authentication.
- QR authentication: the user uses his device camera to read a printed QR code containing his credentials.
- SMS authentication: user provides an email and enters a token received on his phone.
- PIN authentication: after QR and SMS authentication, user should additionally enter a PIN.
- Credentials expiration period: Sofiiâ„¢ allows to setup an expiration period for passwords, QR secrets, PIN codes and SMS token. Prior to the expiration, the application reminds the user to change the credentials.
- Concurrent login: You can allow concurrent login for a user. This allows him to log in on several computers simultaneously. This features helps you implementing a user-based license model.
- IP address and domain control: you can define an IP address mask or internet domain mask of computers from which the user can access the application.
You can define access right on virtually anything in your application. Access rights can be combined or applied on cascade. Thus, a user can have view access on a table, but is allowed to edit only specific fields.
- resources (tables)
- resource attributes (table fields)
- sheets (data views)
- custom actions
Sofiiâ„¢ employs industry-standard Secure Socket Layers (SSL) protocol to ensure that your information is never intercepted nor corrupted during transmission over the internet.
Documents uploaded by users are encrypted using OpenSSL and the AES-256-CBC cipher before being saved on disk.
Sofiiâ„¢ runs on Amazon Web Services, named leader in cloud security. AWS gives the tools to protect your application and data.
Integration and Extensibility
- execute complex SQL queries for reporting
- trigger events on creating, updating or deleting data records.
- access and manipulate application data.
- send email/SMS notifications to users.
- leverage web development frameworks.
- Include Laravel packages.
- Create your own views to customize the user interface. Make use of CSS.
- Improve client-side logic with jQuery.
Sofiiâ„¢ comes with a well-documented REST API that allows virtually any programing language to interact with your data. Internal systems, services, web applications and mobile applications can be integrated with your application.
- use your application as a mobile backend as a service (mBaaS) for mobile applications.
- incorporate external systems or services.
- integrate your application with your existing systems.
- secure data transfer with HTTPS.
- remotely user registration, login and data manipulation.
You can choose a layout that fits with your business. Include static web pages in your application. create your own menus. Let your application have one of the following layouts: desktop, Android, iPhone, Windows, web with top menu, web with left menu, web with tree menu.
Users can bookmark pages for rapid access. Bookmarks are private to the user. They are displayed as a dashboard in the home screen of the application.