JS framework for rapid business application development
1. About IONDV. Framework¶
IONDV. Framework is an node.js opensource framework for developping data accounting applications and functional modules based on JSON/YAML metadata. Visual constructor IONDV. Studio allows you to create applications with “no code” and build applications using REST-API web-services (module rest). The basic module registry is a universal tool for viewing and editing data, processing it according to workflows.
See the video for the application development and building process
Free demo apps¶
Check out our demo apps right now:
- Studio is a specialized IDE, created as an iondv application for visual (no code) development of IONDV.Framework applications. Tutorial and video on creating an application using IONDV. Studio. See on GitHub.
- Telecom is an application for accounting, storing and viewing data on the availability of communications (internet, cellular, TV, post offices etc.) in different localities. See on GitHub
- DNT is an application for developping and testing the framework functionality, in which every accounting entity represents the type of data, for example the “string” class or the “collection” class. It allows to explore the framework’s features through the app. See on GitHub.
- War Archive is a software solution based on the IONDV. Framework, developped for the project “Remember everyone” which aims to digitize the archive documents, upload them to the database and allow everyone access to them. See on GitHub.
- Project Management is an application for the management of project activities of the regional authorities aiming to control the results of the activities, fitting and diminishing the terms of their accomplishment; effective usage of time, human and financial resources; making up-to-date and justified management solutions. See on GitHub
- CRM is a software solution developed for registring, accounting, storing and viewing buisness data (such as requests, incoming calls, clients, product, services and so on ). See on`GitHub <https://github.com/iondv/crm-ru>`_
Login: demo, password: ion-demo. No signing up required.
IONDV. Framework is a wide range web-applications constructor as the subject area is defined by the metadata structure. For example, applications such as following may be created:
- CRM for the clients relationships management;
- accounting and managing the company resources;
- automatization of company workflows and document management;
- collecting and storing any data, for example equipment metrics tracking (IoT);
- representation of data in the form of portals;
- REST-API for SPA applications;
- REST-API and background for mobile apps;
The structure of the framework¶
The framework-based application schema:
core + metadata + modules = application
The following components are shown at the figure:
- ION Core is the core of the application in the form of the IONDV. Framework;
- meta class, meta view, meta navigation, meta workflow, meta security are the functional metadata of the application’s structures, views, navigations, workflows and security respectively;
- registry module shows the plug-in functional modules, for example the Registry module for data viewing and editing;
Below are additional meta types and modules. They bring additional functionality and are applied accordingly with the application specifics. The application dependencies are represented in the
The application is a meta-description of its behaviour in the files of the JSON (YAML) formats + functional code + HTML templates, expanding standard functionality -> it’s comfortable to work with using git version repository. See the examples at Github .
More details on functional features of the IONDV. Framework and its modules in documentation.
IONDV. Framework provides the following functionality:
- descriptive metadata into the data storage structure in the DBMS;
- functionality to work with various DBMS (ORM technology);
- authorization in a system with different policies, by default oath2, with an open, configurable API for connecting passport library authorization modules which provides up to 500 different authorization policies;
- securing access to data - static securing to data types, to navigation, to stages of business processes, to actions on a form; dynamic securing- through the conditions in the data that the profile of the current user must correspond to (belonging to the unit or organization specified in the object, group or other conditions); through url; providing exceptions in authorization and security by url or for a special user;
- connecting modules that provide additional functionality and are implemented through access to the kernel interfaces (APIs) ;
- providing import, export of data in the system, metadata and security from files;
- providing interaction with the file system for storing data, including external file storages, such as nextcloud;
- calculating values with formulas and caching this data;
- providing eager loading and data filtering in connected collections;
- caching requests and sessions in memcached, redis;
- scheduled jobs;
- notifying users about events.