Alya for Developers

Remiges Alya is our awesome platform for building modern applications. It has libraries for server-side code written in Go and Java, and for front-end code written in Angular (for browser-based front-ends and mobile apps in Ionic) and Flutter. Alya is open source, you can download everything from Github.

This blog is for developers to learn about the tech details of Alya and build their applications on top of Alya. We see these as a tutorial article collection.


What is Remiges Alya?

Remiges Alya is a powerful platform for developers to write applications on. It offers facilities and features which are missing from other popular platforms. It is not a low-code or a no-code platform — developers need to write Go or Java for server-side code, and Angular Typescript for front-end code, just like they do elsewhere.

What you get from Remiges Alya:

  • A validator library which has been augmented with many common data types like email address, mobile number, etc, useful for validating parameters received in web service (WS) requests. The mobile number validation uses Google libphonenumber library.
  • Additional validation data types specific to typical Indian enterprise business applications, e.g. Aadhaar number, PAN, IFS code, etc.
  • Support for validating various common master data types which every application needs, including country/state/city/postal-code, currency, language, etc. This support includes code which will query database tables in any common relational database and verify input parameters against them.
  • A standard template in which errors are returned in WS responses in JSON. Utility functions to allow the programmer to build an error list in this format, to be returned to the front-end. Angular Typescript code to pick up and parse this error data structure and handle the errors appropriately on the UI.
  • A sub-system which handles slow operations (e.g. the generation of a complex MIS report) and batch processing (e.g. a batch of half a million transactions is uploaded and now needs to be processed). Alya provides an entire subsystem which processes such requests using asynchronous threads, and in the case of batches, distributes the workload across a cluster of servers, all of which work in parallel to clear the batch jobs. Alya provides all the scaffolding; the programmer just writes the business processing code.
  • If the application needs to accept a batch in the form of a file, the Alya provides a subsystem where a file is accepted, parsed, and submitted as a batch to the Alya batch processing system.
  • I18N support in the error responses which are returned by WS calls.
  • To be added: code to do call-outs to do common master data verification, e.g. call-outs to the Indian Income Tax services to verify PAN.

Alya has been designed to work as a layer on top of Gin (for Go programmers) and Springboot (for Java), for server-side code. For front-end code, Alya offers components for use with Angular and Flutter code. If we add other programming language support, we will announce it in our Announcements blog. It is extremely unlikely that server-side code in PHP, NodeJS, or dotNet will be supported.

Alya is distributed under an Apache 2.0 licence.