承接 irfan-chowdhury/version-elevate 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

irfan-chowdhury/version-elevate

Composer 安装命令:

composer require irfan-chowdhury/version-elevate

包简介

This package will notify the buyers about the new version and it can upgrade their current app to the new version.

README 文档

README

Version Elevate

About

In the context of software development, situations often arise where existing applications, already utilized by a substantial client base, require updates either to introduce novel features or rectify unexpected bugs. In both scenarios, a reliable system is essential to effectively notify your established client base, encouraging them to seamlessly transition to the latest version or promptly apply bug fixes. This process resembles the strategies employed by various software platforms.

By seamlessly integrating this feature into your application, you can precisely orchestrate the desired outcome. When envisioning this integration, consider the intricate balance between innovation and stability. On one hand, new features enhance your application's utility; on the other hand, addressing bugs showcases a commitment to quality and user satisfaction.

Requirements

"require": {
    "php": ">= 8.0",
    "laravel/framework": ">= 9.0"
},

Installation

You can install the package via composer:

composer require irfan-chowdhury/version-elevate

Configuration

After completing the installation, you can publish with:

php artisan vendor:publish --provider="IrfanChowdhury\VersionElevate\VersionElevateServiceProvider"

Service Provider Registration In config/app.php, add in providers array -

'providers' => [
    /*
    * Package Service Providers...
    */
    IrfanChowdhury\VersionElevate\VersionElevateServiceProvider::class,
],

Environement Variable (.ENV)

# DEMO | DEVELOPER | CLIENT
PRODUCT_MODE=DEMO 
VERSION=1.2.3
TARGET_URL="https://your_domain.com"

Here we used DEMO which indicate the original app which is now online server.

Notes

(i) PRODUCT_MODE :

  • DEVELOPER : To access for developers.
  • CLIENT : For production I mean when the clients use your application and they can get notification and update.
  • DEMO : Client's product have to connect with a main server to transfer files and others from main server to client server. So there should be a primary server for control.

(ii) For Version Upgrade - you should follow these points for Demo/Main App :

  • Client Version Number >= Minimum Required Version
  • In general setting, Latest Version Upgrade should be Checked
  • Product Mode have to set DEMO
  • Demo Version Number > Client Version Number

Developer Section

(This section will be not visible to the clients)

General Setting

  • Goto the url to access: your_domain_name.com/developer-section
  • Product mode should be DEVELOPER and you have to set it and control from .env file.
  • A version number has required.
  • A minimum version number has been required. Suppose you have a lot of versions v1.0.0 to v5.0.0 . In some case old version can not support with latest version feaures. Let if any version is v3.0.0 then it will migrate to latest version easily without any hassle. This time it should be minimum required version.
  • Latest Version Upgrade : You have to enable this when a new version will be released so that old clients get notification and can update.
  • Latest Version DB Migrate : If need to DB migrate, then you have to enable this also.
  • Version Upgrade URL : In your server, you have to create a directory and all necessary files have to import there so that the files from here can transfer into client server.

General Section

Version Upgrade Setting

  • In Files section you have to input file name which file you want to transfer from your main server to client server.
  • In Logs section clients can see the change log details.
  • In Short Note section, you can set a important note for the clients if need.

Version Upgrade Setting

Client Section

- Goto the url to access: [your_domain_name.com/version-elevate-dashboard]() - If any new version release, then client will get a notification message in dashboard. They have to click on Click Here option to see the details page.

Version Upgrade Notification

Version Upgrade Page

  • Client will see all details such version number, note and change log details.

Version Upgrade Page

  • After clicking Upgrade button, it will upgrade process automatically then will see a success message and new version number will setup in your application automatically.

Version Upgrade page

Some Challenge :

  • If any issues arise, then clients have to contact with the support team.

Version Upgrade Error

Visit

Packagist : https://packagist.org/packages/irfan-chowdhury/version-elevate

Credits

irfan-chowdhury/version-elevate 适用场景与选型建议

irfan-chowdhury/version-elevate 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 50 次下载、GitHub Stars 达 5, 最近一次更新时间为 2023 年 08 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「auto-update」 「version auto update」 「new version notify」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 irfan-chowdhury/version-elevate 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 irfan-chowdhury/version-elevate 我们能提供哪些服务?
定制开发 / 二次开发

基于 irfan-chowdhury/version-elevate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 50
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-25