Skip to content

xKDR/regflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

RegFlow

RegFlow is an open initiative to ease digital regulatory filings by use of open standards and technology.

Architecture

Components

XBRL Validating Parser will test incoming XBRL Instance documents to make sure it is XML Schema valid based on TRAI XBRL Taxonomy. The parser will also parse all XML field values from the document for storing them in the database. Service Layer will be responsible for calling this component and getting back results which will then be forwarded to ORM for storing in the database.

API component will enable other outside systems to interact with RegFlow. This component will contain a set of interfaces which will be responsible for receiving requests from other systems, forward these requests to Service Layer for processing, and then responding to the outside system with an appropriate response.

Authentication/Authorisation component will be responsible for controlling access to RegFlow. The component will perform two functions:

  • Authentication will allow only permitted entities to make requests to RegFlow API by way of pre-approved users and secure keys.

  • Authorisation will restrict authenticated entities to perform only the operations they are authorised to do (separation of roles).

This component will work directly with API component for making sure no API request is unauthorised. The Authentication/Authorisation should also be configured to set up access controls for users who want to access publicly shareable data.

Service Layer component forms the heart of RegFlow backend layer by controlling program execution and flow. This component will be responsible for performing operations forwarded by API component and Batch Jobs component by making use of other components of RegFlow. Most of the business logic will also be implemented in this component.

Object Relational Mapping (ORM) component will be responsible for mapping objects Service Layer operations directly with Primary Database component. This component will be the only component interacting with database component.

Primary Database will be responsible for storing raw data received from regulated entity filings. The database system should be performance efficient, and sufficiently large to store various data coming in from different entities.

Batch jobs component will be responsible for running programs which need to be run at a regular frequency. For example, a program to fetch all data from database which can be shared with general public will pull this data out of primary database and put it on regulator's website.

Auditing component will keep a record of all activity happening inside RegFlow, for compliance purposes. This component, thus, as shown in architecture diagram spans all RegFlow components. All other components will send relevant information to this component. For example, a record of logins, API requests, and authorised accesses may be maintained in this component.

Logging component will maintain all application logs. These logs are useful for debugging application errors, for making sure application is performing correctly among others.

Reporting (iXBRL) component will provide a front-end to view reports of all regulatory filings data. iXBRL 1.1 is an HTML based standard which is used for displaying XBRL reports. It enables presentation of XBRL Facts related to XBRL Concepts along with background text template.

Data submission application will be developed and maintained by regulated entities to submit data to RegFlow. This application will interact with RegFlow via API component.

About

Ease the flow of regulatory data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published