beckn / beckn-onix

beckn onix
MIT License
17 stars 12 forks source link

Create a GUI for Beckn-ONIX #22

Open ravi-prakash-v opened 4 months ago

ravi-prakash-v commented 4 months ago

Context

Beckn ONIX is a project aimed at easing setup and maintainance of a Beckn Network using reference implementations. Objectives include setting up reliable, configurable and fast Beckn network as a virtual appliance. This initiative is independent of the evolution of the Beckn protocol. This effort is also aimed at inviting contributions from the community to create secure, reliable builds for production environments.

Problem

Currently, this application only has a command line interface

Goals

The goal is to have a GUI for ONIX that has the following features

User Personas

  1. Network Facilitator Admin
  2. Network Participant Developer

Key Digital Functionalities

Network Installation

  1. All personas should be able to download the onix codebase on their machine and access it via a browser on the machine's IP address (localhost or public IP). A similar workflow for reference is how we set up Wordpress on a machine. The workflow for ONIX is the same as the CLI flow.
  2. All personas should be able to link a domain name and link it to the respective IP Address the onix installation is running on.
  3. All personas should be able to link the respective platform's API URL (belonging to the same domain name) Refer to the User Guide to understand the workflow.

Network Health Monitoring

  1. The Network Facilitator Admin should be able to view the health of network participants with ONIX installations.

Network Testing

  1. All personas should be able to run a few preset workflows like Core + Retail, Core + Retail + Energy. Below is an example workflow for Core + Retail + Energy 1.1 Install beckn-onix core for BAP, BPP, BG and Registry 1.2 Connect your retail applications to the core adaptors by reading the beckn-onix documentation 1.3 Run a negative test. Upon firing a request, the application should display an error that there is no Layer 2 config present 1.4 Download a sample Layer 2 retail config 1.5 Upload the sample layer 2 config to the respective retail applications 1.6 Run a positive test, the same application should be able to execute an end-to-end retail transaction now. 1.7 Connect your UEI-enabled application to the same adaptor 1.8 Run a negative test. Upon firing an request, the application should return an error that there is no Layer 2 config for this context 1.9 Download a sample Layer 2 energy config 1.10 Upload the sample layer 2 config to the respective energy applications 1.11 Run a positive test, the same application should be able to execute an end-to-end energy transaction now.

Network Config Creation

  1. Network Facilitator Admins should be able to create an Layer 2 configuration for the use cases they are supporting. They should be able to 1.1 Create Enumerations for various fields in the core specification 1.2 Mark certain fields as required 1.3 Create templated requests which are supported by the network 1.4 Create tags and tag groups associated with various fields 1.5 Configure cross-parameter dependencies. For example, if category.descriptor.code = "ELECTRONICS", then the Item.tags[].descriptor.code should have the values ("Technical Specifications", "User Manual", "Manufacturer details"). Or, if category.descriptor.code == "MOBILE-PHONES", and Item.tags[x].descriptor.code == "Technical Specifications", then Item.tags[x].list[].descriptor.code must have the following values ("RAM", "Display-Size", "Processor", "Camera-Resolution", "...").

Functional Requirements

To be added in upcoming issues

Tech Skills Needed:

Node JS React JS

Mentors

Ravi Prakash Venkatesh Babu

Complexity

High

Category

Feature

Sub Category

Frontend, Backend

Mishalabdullah commented 4 months ago

Project Repo :- https://github.com/Mishalabdullah/beckn-onix-gui Main Branch Deployment :- https://beckn-onix-gui.vercel.app/

faizmagic commented 3 months ago

@Mishalabdullah , lets add the repo under beckn.

Mishalabdullah commented 3 months ago

OK sure, Just inform me when a new repo is created and also grant me the permission so that I could push the code.

Mishalabdullah commented 3 months ago

Dev Status:

  1. The ONIX installer is completed.
  2. Additionally, the Layer 2 config file has a few updates needed:
    • Displaying all Layer 2 files.
    • Checking if a certain domain-specific YAML file is present or not.
  3. The Network Monitor is a work in progress and will be completed by this weekend.
Mishalabdullah commented 3 months ago

@ravi-prakash-v What are the requirements for the network monitor. Initially I misunderstood as a like CPU, Memory usage thing.