Git Product home page Git Product logo

registration's Introduction

Maven Package upon a push Quality Gate Status

Registration Processor

Overview

This repository contains source code and design documents for MOSIP Registration Processor which is the server-side module to manage ID lifecycle. The modules exposes API endpoints.

Overview of Registration Processor

The front end UI application called Registration Client is available in a separate repo here

Registration stages and pipeline

Staged architecture:

The control and data flow in the stages is controlled by Workflow engine

Other services:

  • Packet Server
  • Registration status service
  • Notification service
  • Transaction service

Registration flows

An overview of various enrollment scenarious (or flows) is described in ID Lifecycle Management. Registration Processor recognises the following flows:

  • New
  • Update
  • Child
  • Correction
  • Lost
  • Activate/deactivate
  • Reprint

The stage sequence against each flow refer here

Vertx

Vertx is a framework for stages. Stages run as Vertx.

Kafka

Regprocessor stages are connected with eventbus. MOSIP supports two types of eventbus:

  • Vertx Eventbus
  • Kafka (default) - provides persistence across restarts (more robust), throttling capacity, better debugging

Kafka offers certain advantages over Vertx eventbus hence it is recommended as the default eventbus mechanism. All events between stages pass through Kafka queues. There is a separate Kafka topic for each stage.

One of the power features is to enable throttling in the pipeline. See Throttling

Hazelcast

Distributed cache - for packetmanager

Database

See DB guide

Registration Packet Structure

Packetmanager

Build & run (for developers)

The project requires JDK 1.11.

  1. To build jars:
    $ cd registration
    $ mvn clean install 
    
  2. To skip JUnit tests and Java Docs:
    $ mvn install -DskipTests=true -Dmaven.javadoc.skip=true
    
  3. To build Docker for a service:
    $ cd <service folder>
    $ docker build -f Dockerfile
    

Deploy

Registration processor in sandbox

To deploy Registration Processor services on Kubernetes cluster using Dockers refer to Sandbox Deployment.

Configuration

Refer to the configuration guide.

Test

Automated functional tests available in Functional Tests repo

APIs

API documentation is available here

License

This project is licensed under the terms of Mozilla Public License 2.0.

registration's People

Contributors

abhishek-kumar3 avatar alokranjan1106 avatar arun6368 avatar balvikashsharma avatar dineshashokan7595 avatar dineshkaruppiaht7697 avatar gurpreet5991 avatar loganathansekar7627 avatar maheshkumar1804 avatar manojsp12 avatar meghauttamtanga avatar monobikashdas avatar mosiprajath avatar nagalakshminithyanandan avatar omsaieswar avatar pranavk5 avatar premkumar1997 avatar rajjhajsr avatar ramaduraipandian1989 avatar ravibalaji6462 avatar rishabhjavad avatar sanjaymurali7395 avatar shashank0707 avatar sowmya695 avatar sravya46559 avatar srinivasanmt avatar swatikp avatar taleevaalam avatar urviljoshi avatar yaswanths2 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.