Git Product home page Git Product logo

regflow's Introduction

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.

regflow's People

Contributors

chiraganand avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.