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.

v1.0.2 2023-11-10 16:55 UTC

This package is auto-updated.

Last update: 2024-10-10 18:57:14 UTC


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