First of all you don’t need to do anything with git and frappe, erpnext, or bench unless you are contributing.
The only git you deal with is your custom app. Which flow you use is your choice as you’ve complete control over your custom app. bench new-app will create app as a git repo by default.
I prefer:
- “main” branch as only branch. Features are on merge requests. Acts as edge, nightly, latest
- Use git semver tags and a release script that bumps up
__init__.pyto make versioned production releases. - On merging to main, latest images are built, optionally deployed on UAT.
- On tagging, tagged version of images are built. Manually trigger deploy of tagged images to production.
Advance stuff:
- git is not required feat: add no-git option to new-app command by phot0n · Pull Request #1218 · frappe/bench · GitHub
- git is removed from container images at this moment. frappe_docker/images/worker/Dockerfile at 4e1a5641c6c5a634d92d0974241baf22d3fe59ad · frappe/frappe_docker · GitHub
- Use this to setup multi frappe app monorepos Monorepo management · Issue #1174 · frappe/bench · GitHub
- Old post Continuous delivery and continuous deployment of Frappe/ERPNext with Docker and Kubernetes, many things improved and can be further improved.
- Angular
- Add Single Page Application to website portal page
- How to use React front-end for Page in ERPNext - #2 by revant_one (use webcomponents built with Angular)
- example of web components built with Angular used in frappe app erpnext_feature_board/webcomponents at main · revant/erpnext_feature_board · GitHub
- NodeJS