The project is a customizable BPM system for managing educational and executive processes in a Belgian school. As a result of this cooperation:
The customer turned to Altoros to develop a Web system for managing educational and executive processes in a Belgian school. The organization already had a legacy Silverlight-based app that lacked flexibility and had poor performance. The system should have been integrated with two governmental services: KBI(which provides access to students’ personal data) and DaVinci (which aggregates data about courses, certification, etc.).
In addition, the customer wanted to develop a similar white-label BPM system that would allow for managing abstract entities (e.g., students and courses), processes (triggered tasks), and forms (data inputs/views).
In the course of the project, the following challenges were defined:
To enable flexible customization of the system’s engine and eliminate restrictions of existing BPM platforms, our team created two domain-specific languages. One of the languages is responsible for describing a database structure (terms, relations, mapping, callbacks, etc.), while another sets up inputs/views and tasks/processes. Both were written with Jison; the languages are interpreted using a custom CoffeeScript module.
To maximize performance, our team enabled caching for dynamic datasets—utilizing IndexedDB. This approach pre-solved latency issues that might occur in the main database (MongoDB) when running a series of subsequent requests to objects with indirect relations. In addition, any changes made by users offline are also stored in IndexedDB and later synced with MongoDB.
To ensure proper safety of personal data exchanged with KBI/ DaVinci (such as eID card details), our engineers initiated encryption inside IndexedDB.
Altoros has also delivered other additional features:
The system has been successfully implemented in the Belgian school. Daily, it is used by thousands of students, teachers, and administrative personnel. This customizable solution allows for saving tens of thousands of euros on expensive BPM/ERP suites with excessive functionality.
Flexibility of the application enables to easily maintain the system and integrate it with third-party services. It is planned to enable system’s deployment to cloud platforms, such as Microsoft Azure. Furthermore, people with little or no technical background can manage and customize the system, using the declarative languages written by our engineers.
In the end, partnership with Altoros allowed the customer to develop a white- label solution tailored to BPM needs of education, healthcare, finance, insurance, and other industries—thus, creating an additional revenue channel. The customer has built a number of POCs for several organizations.
x86_64 provided server
Client platforms/App Servers
Ubuntu Linux, Nginx, Passenger
Ruby on Rails, AngularJS, Sidekiq, JSON-schema, Jison, Websockets
MongoDB, IndexedDB, Elasticsearch