Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign and rewrite of MDMS #76

Open
sathishp-eGov opened this issue Apr 25, 2023 · 6 comments
Open

Redesign and rewrite of MDMS #76

sathishp-eGov opened this issue Apr 25, 2023 · 6 comments

Comments

@sathishp-eGov
Copy link

sathishp-eGov commented Apr 25, 2023

DIGIT is an open source service delivery platform on which several government and private sector organisations build solutions e.g. National Urban Digital Mission leverages DIGIT for National Urban Governance Platform (UPYOG) - 28+ States have signed up to roll out UPYOG to all their urban local bodies. This will help deliver services like Property Tax, Public Grievances, Water DIGIT is an open source service delivery platform on which several government and private sector organisations build solutions e.g. National Urban Digital Mission leverages DIGIT for National Urban Governance Platform (UPYOG) - 28+ States have signed up to roll out UPYOG to all their urban local bodies. This will help deliver services like Property Tax, Public Grievances, Water Connection, Birth/Death Certificate etc. to all citizens. Odisha is rolling out Sanitation Services built on DIGIT across all their urban local bodies. Punjab is rolling out Revenue and Expenditure Management System on DIGIT for all rural drinking water projects.

DIGIT Core consists of 25+ microservices. One of the microservices MDMS helps manage master data that are used by services built on DIGIT. Currently the master data is stored as JSON files in GitHub. This makes it difficult for business users to update master data. This project is to design an upgrade for MDMS to make it easily configurable.

Features to be implemented -

  1. MDMS management service: _create API.
  2. MDMS management service: _search API.
  3. MDMS management service: _update API.
  4. MDMS management service: _delete API (soft delete).
  5. In MDMS we have data with different Master data. Each master will have a specific JSON schema.
  6. There will be a schema validator that will validator data in create and update operations based on the Master name.
  7. This schema validator should validate based on the Master, if any master data don't have a defined schema, or it want's to skip the validation that can also be possible.
  8. There will be one table that will store all MDMS data with the help of jsonb and some other following details -
    . Each record will have three mandatory fields tenantId, moduleName and masterName.
    . For one master there can have multiple records, for different modules and tenants.
  9. There will be fallback and other search functionalities same as we have in existing MDMS.
  10. All defined schema will be loaded when service initializing.
  11. Will use caching or other mechanisms to improve search performance.

Learning path, project setup and development details -

DIGIT Platform - Principles, Architecture, Technology, Specifications etc.
DIGIT Developer's Guide - Local Setup, Project Setup, Integration with Core Services etc.
API Do's and Don'ts

Acceptance Criteria -

All APIs of Performance management service should be functional.
The code should be modular with proper separation of concerns and compliant with the code quality we maintain in DIGIT.
All queries to extract performance metrics should return correct data for the selected timeframe.

@KeenWarrior
Copy link

Hello @sathishp-eGov , Please ensure that the following fields are filled out

  • Project Details
  • Features to be implemented
  • Learning Path
  • Product Set Up
  • Acceptance Criteria

You can find here description of what needs to be added in corresponding fields.

Here are sample tickets for reference.

@Shruti3004
Copy link

Hey @sathishp-eGov, thanks for detailing it out, can you please also add the tech-stack and the mentors to it. Thanks!

@khanjasir90
Copy link

@sathishp-eGov I am pretty much interested in this project and would like to submit a proposal for the same.

@priyanshi0720
Copy link

Hi, I'm interested in this project. It would be great to work on this project and bring in more creativeness and innovation to the idea.

@SigireddyBalasai
Copy link

I am ready to work

@amanyadav721
Copy link

Hey i want to collaborate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants