Nova Branding

nova_branding

Install Nova Branding

bench get-app https://github.com/amin1688/nova_branding

Add the Frappe Gems badge to your README

Maintain Nova Branding? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=amin1688%2Fnova_branding)](https://frappegems.com/gems/apps/amin1688/nova_branding)

About Nova Branding

NOVA Branding (for ERPNext/Frappe)

这是一个可生产落地的品牌化 App,用于在 ERPNext/Frappe 上构建你的 NOVA 品牌体验:

  • 全局品牌替换(如 ERPNext -> NOVA)
  • 登录页/操作界面视觉重构(深色 + 科技风)
  • 默认品牌设置在 install/migrate 后自动应用
  • 单独 App方式维护,便于安装、升级、迁移

重要合规说明:可做品牌化 UI 与文案替换,但请继续遵守 ERPNext/Frappe 的 GPL 许可要求,保留源码层面的版权与许可证信息。


设计目标(你提到的“最彻底 + 可运维”)

  1. 看起来像 NOVA,不像默认 ERPNext
    • Logo、标题、登录文案、全局文本替换。
    • Desk 和 Login 使用统一品牌色系与组件风格。
  2. 不改核心源码
    • 通过 hooks 注入 CSS/JS,降低升级冲突。
  3. 易安装 / 易升级 / 易迁移
    • 标准 bench 安装方式。
    • migrate 后自动回写关键品牌单值设置。

云服务器安装(Ubuntu 22.04 / 24.04,生产推荐)

适用于你已经有 ERPNext/Frappe 站点,想把 nova_branding 装上去。

0) 登录服务器

ssh frappe@your-server-ip

1) 进入 bench 根目录

cd /home/frappe/frappe-bench

2) 获取 APP 代码

如果代码在 Git 仓库:

bench get-app https://your-git-host/your-org/nova_branding.git

如果代码已在服务器本地目录:

bench get-app /path/to/nova_branding

3) 安装到目标站点

bench --site your-site install-app nova_branding

your-site 示例:erp.nova.com

4) 执行迁移并构建前端资源

bench --site your-site migrate
bench build

5) 重启服务

sudo supervisorctl restart all
sudo systemctl reload nginx

6) 验证

  • 打开 https://your-site
  • 登录页和 Desk 是否显示 NOVA 品牌
  • 终端确认 App 已安装:
bench --site your-site list-apps

应看到 nova_branding


安装(生产推荐)

在 bench 根目录执行:

bench get-app /path/to/nova_branding
bench --site your-site install-app nova_branding
bench --site your-site migrate
bench build
bench restart

如果是多站点环境,请逐站点执行 install-app / migrate。


升级流程(推荐)

当你发布新版本后:

# 在 apps/nova_branding 拉取新代码
cd apps/nova_branding && git pull

# 回到 bench 根目录
cd ../../
bench --site your-site migrate
bench build
bench restart

要点: - 尽量只在 nova_branding App 内迭代,不改 ERPNext 核心文件。 - 每次升级后执行 migrate,确保品牌单值(System Settings / Website Settings)被重新校准。


迁移到新环境(UAT -> PROD)

建议顺序:

  1. 新环境部署同版本 Frappe/ERPNext。
  2. 安装 nova_branding App。
  3. 还原数据库与私有文件(按你的标准运维流程)。
  4. 运行:
bench --site your-site migrate
bench build
bench restart

这样可保证品牌设置与前端资源在目标环境自动就位。


当前实现点

  • hooks.py
    • 注入 nova_branding.bundle.css/js
    • 绑定 after_install / after_migrate 钩子
  • branding.py
    • install/migrate 后自动写入 app_namebrand_html 等单值设置
  • public/js/nova_branding.js
    • 全局文本替换、标题替换、Logo 强制替换、DOM 变更监听
  • public/css/nova_branding.css
    • 登录页与 Desk 全局视觉风格重塑

你下一步可继续做的“企业级白标”

  • 邮件模板(邮件页脚、发件签名)
  • 打印模板 Header/Footer(公司法定信息)
  • favicon / PWA 图标 / 移动端图标包
  • 网站门户(Navbar/Footer/主题)
  • 按角色或租户实现多品牌切换

版本建议

  • 建议遵循语义化版本(SemVer):MAJOR.MINOR.PATCH
  • 每次发布写清楚:
    • 影响范围(登录页/desk/网站)
    • 是否包含破坏性变更
    • 升级命令与回滚方式

Related Other apps for Frappe & ERPNext

  • Erpnext — Free and Open Source Enterprise Resource Planning (ERP)
  • Helpdesk — Modern, Streamlined, Free and Open Source Customer Service Software
  • Print Designer — Visual print designer for Frappe / ERPNext
  • Ctr — CTR模型代码和学习笔记总结
  • Whitelabel — Whitelabel ERPNext
  • Fossunited — fossunited.org
  • Helm — Helm Chart Repository for Frappe/ERPNext
  • Frappe Attachments S3 — A frappe app to upload file attachments in doctypes to s3.