[For Developers] Help us develop the PR Review System

GitHub - revant/erpnext_feature_board: Feature board for ERPNext is a frappe framework app. It consists of following components

DocTypes:

  • Improvement: It keeps track of individual PR and additional data that is needed to generate sites.
  • Github Repository: It is used to add Github repo url and PAT. Used for sync of Open PR <=> Improvements

scheduler_events

  • deploy.py:
    • These are events check the deployment_status of the Improvement.
    • As per the deployment_status the scheduler_event will pick up the Improvement and process it.
    • Scheduler Functions are in deploy.py they do what is mentioned in Architecture.
    • Think of it as executing kubectl and helm commands using python api. (GitHub - kubernetes-client/python: Official Python client library for kubernetes)
    • For Helm it is using Flux Helm Operator
  • Github Sync
    • It is an hourly scheduler that syncs PR to Improvement

It is a standard frappe app that can be installed using bench get-app and bench install-app commands.

It needs a locally running kubernetes cluster if you are developing the Kubernetes related scheduler events.
Development docs use k3d.io for setting up local cluster.

If you are just dealing with the Web App development, no need to setup kubernetes and ignore error logs.

Make sure to set developer_mode to 1 during local development.
The app uses local user’s kubeconfig (~/.kube/config) in developer mode.
In case of production, it will take in-cluster kubeconfig.

Production docker images for the app are built and published to custom registry.
ERPNext Helm chart is used to install this app in production.

More:

9 Likes

If anyone wish to check how webcomponents were added and used, check the www pages and build.json of the app.

Any developer interested to help?

1 Like