DIGIT Public Finance Management
PlatformDomainsAcademyDesign SystemFeedback
v1.1-alpha
v1.1-alpha
  • iFIX
  • Blue Print
  • Platform
    • Release Notes
      • mGramSeva Release Notes
        • MDMS & Configuration Updates
        • Test Cases
        • Service Build Updates
        • mGramSeva Product Release Notes
      • iFIX Core Release Notes
        • iFIX Core Build Updates
        • iFIX Core Test Cases
      • iFIX Adaptor Release Notes
        • iFIX Adaptor Build Update
        • iFIX Adaptor Test Cases
    • Features
    • Architecture
      • Principles
      • Specifications
        • Information Model
        • APIs
      • Services
        • iFix Master Data Service
        • iFix Department Entity Service
        • iFix Fiscal Event Service
        • iFix Fiscal Event Post Processor
        • iFix Client Management Service
          • Keycloak Setup
      • Technology
    • Installation
      • Infrastructure Setup
        • Quickstart/Local Setup
        • On AWS
        • On Azure
      • Deploy Services
        • Deploy from your local machine
        • CI/CD
      • API Access Key
      • Configuring Master Data
    • Source Code
  • Exemplar
    • mGramSeva
      • Functionalities
        • Login and Forgot Password
        • User Roles and Home Screen
        • Create Consumer
        • Search Consumer
        • Edit Consumer
        • View Consumer
        • Billing - Bulk Demand Generation
        • Billing - Metered Connection
        • Revenue Collection - Offline
        • Expenditure - Add Expense
        • Expenditure - Modify Expense
        • User Onboarding - Bulk Upload
        • User Onboarding/Walkthrough
        • Feedback - Post Payment
        • SMS Notifications
        • Home Page Notifications
        • Edit User Profile
        • Bill and Receipt PDF
        • Update Expense Search
        • Bulk Demand Generation for Non Metered
        • Demand/Bill Generation for Metered Connection
        • Household Register
        • Tabular Dashboard - Expense
        • Tabular Dashboard - Collection
        • Download Bills and Receipt
      • Architecture
        • Technology
      • Source Code
      • Documents
        • User Manual
        • Demo video
        • UI Mockups
        • mGramSeva UI
          • Application Permissions & Dependencies
        • Tech User Manual
          • Language Selection
          • Login
          • Update Password FTL
          • Forgot Password
          • Home
          • Edit Profile
          • Change Password
          • Generate Bill
          • Search Connection
          • Consumer Details
            • Create Consumer
            • Update Consumer
          • Expenses
            • Add Expenses
            • Search Expense Bills
            • Modify Expenses
          • Dashboard
            • Monthly Dashboard
            • Collections Dashboard
            • Expenditure Dashboard
          • Collect Payment
          • Consumer Feedback
          • Household Register
          • Bluetooth Thermal Printer Integration
          • Application Structure
        • Application Structure
        • Integration Testing
        • Integration Testing With Github Actions
        • Firebase Analytics Integration
        • Backend Services
          • mGramSeva - Water Services
          • mGramSeva - Water Service Calculator
          • mGramSeva e-Challan Service
          • mGramSeva - User Service
          • mGramSeva - Billing Service
          • mGramSeva - User OTP
          • iFix Adapter Integration Service
          • mGramSeva - Rollout Dashboard
          • mGramSeva Scheduler
          • mGramSeva- Services Re-Indexing
          • mGramSeva Dashboard
    • iFIX Adapter
      • iFix Adapter Services v1.0
      • Source Code
      • Installation
        • Local Setup
        • CI/CD
    • iFIX Dashboard
      • Features
      • Architecture
        • Technology
      • Source Code
      • Installation
        • Local Setup
        • CI/CD
      • Documents
        • iFIX Core Data Cleanup
        • Master Data Setup
        • Fiscal Event Aggregator
  • Ecosystem
    • News and Events
  • Community
    • Roadmap
    • Discussions
    • Issues
Powered by GitBook

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • Overview
  • Pre-requisites
  • Key Functionalities
  • Deployment Details
  • Configuration Details
  • Interaction Diagram
  • Reference Docs
  • Doc Links
  • API List

Was this helpful?

  1. Exemplar
  2. iFIX Adapter

iFix Adapter Services v1.0

Overview

Ifix-Adapter is a system that works as a mediator between iFix and its clients. This system will receive requests from the client system and convert the data in the Ifix required format. This document contains the details about how to set up ifix-adapter service and describes the functionalities it provides.

Pre-requisites

Before you proceed with the configuration, make sure the following pre-requisites are met -

  • Java 8

  • Kafka server is up and running

  • PSQL server is running

  • Redis

  • Following services should be up and running:

    • Client Service Like mgramseva-ifix-adapter

    • Target service IFIX- fiscal-event-service

    • Target Service IFIX-keycloak

    • IFIX master-data-service

Key Functionalities

  • IFIX client requests are pushed to IFIX

  • The authentication token is fetched from keycloak and cached. Token will be re-fetched 5 minutes before expiry

  • project id is fetched from IFIX and cached

  • COA id fetched from IFIX and cached

  • Every push to IFIX is recorded in the table with HTTP status

    • status series 200 considered success

    • status 400 are marked client error and reported back to the client

    • status 500 resubmitted by the scheduler

Deployment Details

Deploy the latest version of ifix-reference-adapter

Environment Variables

Description

kafka.topics.ifix.adaptor.mapper

Topic in which client requests are put . From this further listen and posting happens

keycloak.host

Host name of the key cloak authentication token provider

keycloak.token.url

key cloak authentication token url

keycloak.credentials.clientid

userid of for authentication token

keycloak.credentials.clientsecret

password for authentication token

ifix.host

host name of IFIX server

ifix.event.url

IFIX post URL

spring.redis.host

Host name of the redis server

state.goverment.code

top level tenant id of the client

ifix.coa.search.url

url for COA search in IFIX

ifix.project.search.url

Url for the project code search in IFIX

spring.jpa.properties.hibernate.dialect

dialect for JPA. you can change this to oracle or my sql etc

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation

will generate the required tables in the respective database . This feature is used instead of flyway to get database in-dependency

Configuration Details

  1. Map clientcode, ifixcoacode, ifixid in ifix_adapter_coa_map table

    1. “clientcode” is the tax head like “WATER_CHARGES” or ‘10011’ used in IFIX client like mgramseva

    2. “ifixcoacode” is the 16 digit glcode in IFIX. 16 digit code is mapped then this can be ported to any environment like dev to qa ,or qa to uat or from uat to prod. Prefer mapping ifixcoacode

    3. Another way is to map the IFIX COA ID itself. Since these are generated ids you cant port to other environments. ID mapping has to be done for every environment.

    4. Preference is given to COA Code, if it is null ID will be used

    5. example is INSERT INTO public.ifix_adapter_coa_map( id, clientcode, ifixcoacode, ifixid, tenantid) VALUES (1,'10101', '0215-01-102-00-00-01', '6cbcb4a1-2431-4f78-89d7-b4f0565aba37', 'pb');

  2. If client “project code” and IFIX project code are the same then no need for mapping. If it is different then map clientprojectcode, ifixprojectid in ifix_adapter_project_map table. Ideally, you should keep both codes the same for getting meaningful data on the dashboard. This way you don't have to do any mapping for project code for any environment. But if for any reason you have different project codes in IFIX and its client or has multiple projects having the same project code then only go for this mapping. The adapter will first check in the IFIX for the supplied “projectCode”, If found it will use it and caches it. If multiple projects or not found it will look into this table for mapping

    1. example is INSERT INTO public.ifix_adapter_project_map( id, clientprojectcode, ifixprojectid, tenantid) VALUES (1, '7374', 'e42db9bb-8427-40a6-9939-4f2189d032bf','pb');

  3. state.goverment.code set this value to the clients top level tenantid

Interaction Diagram

Reference Docs

Doc Links

Link

Api Swagger document

Postman

API List

API

Description

events/v1/_push

API for receiving data from the client (mgram). This is the only API present in the adapter

PreviousiFIX AdapterNextInstallation

Last updated 3 years ago

Was this helpful?

Update Key cloak credentials in dev.yaml,qa.yaml,prod.yaml according to the environment The credentials are “keycloak.credentials.clientid and “keycloak.credentials.clientsecret” Example is given in and

here
here
https://www.getpostman.com/collections/c3414cc054346e17aea2
iFix-Dev/iFix-adapter-v1.0.yaml at adaptor-dev · egovernments/iFix-Dev