Download the PHP package alareqi/filament-app-version-manager without Composer

On this page you can find all versions of the php package alareqi/filament-app-version-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-app-version-manager

Filament App Version Manager

[![Latest Version on Packagist](https://img.shields.io/packagist/v/alareqi/filament-app-version-manager.svg?style=flat-square)](https://packagist.org/packages/alareqi/filament-app-version-manager) [![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/alareqi/filament-app-version-manager/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/aymanalareqi/filament-app-version-manager/actions?query=workflow%3Arun-tests+branch%3Amain) [![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/alareqi/filament-app-version-manager/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/aymanalareqi/filament-app-version-manager/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain) [![Total Downloads](https://img.shields.io/packagist/dt/alareqi/filament-app-version-manager.svg?style=flat-square)](https://packagist.org/packages/alareqi/filament-app-version-manager)

A comprehensive Filament plugin for managing mobile app versions with multilingual support, API endpoints, advanced configuration system, and production-ready features.

πŸ“š Documentation

For comprehensive documentation, examples, and guides, visit the docs directory:

✨ Features

Requirements

πŸ“¦ Installation

Step 1: Install via Composer

Step 2: Publish Configuration

Step 3: Publish and Run Migrations

Step 4: Publish Translations (Optional)

Step 5: Register the Plugin

Add the plugin to your Filament panel provider:

Step 6: Quick Setup Command (Optional)

Run the setup command for guided installation:

This command will:

βš™οΈ Configuration

The plugin configuration file is published to config/filament-app-version-manager.php. Here are the key configuration sections:

API Configuration

Navigation Configuration

Feature Flags

Localization Settings

Validation Rules

Default Values

πŸ”§ Advanced Plugin Configuration

The plugin supports a powerful fluent API with closure support for dynamic configuration. You can override any configuration value programmatically:

Basic Fluent API Usage

Dynamic Configuration with Closures

Closures are evaluated at runtime, enabling dynamic configuration based on environment, user context, or other runtime conditions:

Configuration Override Methods

All configuration values can be overridden using fluent methods:

Navigation Configuration

API Configuration

Feature Configuration

Validation Configuration

Default Values Configuration

Localization Configuration

Bulk Configuration

You can also configure multiple values at once:

πŸ“± Usage

Admin Panel

Once installed, you'll find the "App Versions" resource in your Filament admin panel. You can:

🌐 API Endpoints

The plugin provides RESTful API endpoints for version checking and management. All endpoints support caching and rate limiting.

Version Check Endpoint

POST /api/version/check

Check for available updates for a specific platform and version.

Request:

Response (without locale parameter):

Localized API Responses

When a locale parameter is provided, the API returns localized content for that specific language. The key difference is that release_notes returns a single string value instead of an object.

Request with locale:

Localized Response (with locale specified):

API Response Format Summary:

Fallback Logic:

Response when no update available:

Error Response:

Version Stats Endpoint (Optional)

GET /api/version/stats

Get version statistics and analytics (when enabled in configuration).

Response:

API Configuration

Configure API behavior in your plugin registration:

🌍 Multilingual Release Notes

The plugin provides comprehensive multilingual support for release notes with a user-friendly tabbed interface.

Configuration

Configure supported locales in your configuration file:

Or configure dynamically:

Usage in Admin Panel

When creating or editing app versions, you'll see:

API Response

The format of release notes in API responses depends on whether a locale is specified:

Without locale parameter (all translations):

With locale parameter (single localized string):

Understanding API Response Formats

The Filament App Version Manager API returns different formats for the release_notes field depending on whether you specify a locale in your request:

Request Type release_notes Format Use Case
No locale parameter Object with all translations When you want to handle multiple languages client-side
With locale parameter Single localized string When you want pre-localized content for a specific language

Example Requests:

This design allows maximum flexibility - use the format that best fits your application's localization strategy.

Programmatic Usage

Create versions with multilingual release notes:

🎨 Customization

Model Relationships

If you have an Admin model, the plugin will automatically create relationships:

Database Schema

The plugin creates an app_versions table with the following structure:

Translations

The plugin supports full bilingual functionality with translations for:

Translation files are located in:

πŸ§ͺ Testing

The plugin includes comprehensive test coverage with 58+ tests and 161+ assertions covering all functionality.

Running Tests

Creating Sample Data

Create sample app versions for testing:

Test Configuration

For testing purposes, you can override configuration:

πŸ”§ Troubleshooting

Common Issues and Solutions

Plugin Not Appearing in Admin Panel

Problem: The App Versions resource doesn't appear in the Filament admin panel.

Solutions:

  1. Ensure the plugin is registered in your panel provider:

  2. Clear your application cache:

  3. Ensure migrations have been run:

API Endpoints Not Working

Problem: API endpoints return 404 or are not accessible.

Solutions:

  1. Ensure API routes are enabled:

  2. Check your route cache:

  3. Verify the API prefix in your configuration matches your requests.

Multilingual Release Notes Not Showing

Problem: Language tabs are not appearing in the form.

Solutions:

  1. Ensure multilingual feature is enabled:

  2. Configure supported locales:

  3. Clear configuration cache:

Navigation Group Not Localized

Problem: Navigation group shows as "null" or doesn't use translations.

Solutions:

  1. Publish and configure translations:

  2. Set navigation group to null in config to use localized default:

  3. Or set a custom localized group:

Configuration Overrides Not Working

Problem: Plugin configuration overrides are not taking effect.

Solutions:

  1. Ensure you're using the correct method names and syntax:

  2. For closure-based configuration, ensure closures return the expected type:

  3. Clear all caches after configuration changes:

Database Migration Issues

Problem: Migration fails or tables are not created properly.

Solutions:

  1. Ensure you have proper database permissions.

  2. Check for conflicting table names:

  3. Run migrations with verbose output:

Performance Issues

Problem: Admin panel or API responses are slow.

Solutions:

  1. Enable API caching:

  2. Add database indexes if you have many records:

  3. Use pagination for large datasets in the admin panel.

Debug Mode

Enable debug mode to get more detailed error information:

Getting Help

If you're still experiencing issues:

  1. Check the GitHub Issues for similar problems
  2. Enable debug mode and check your Laravel logs
  3. Ensure you're using compatible versions of PHP, Laravel, and Filament
  4. Create a minimal reproduction case when reporting issues

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

  1. Clone the repository
  2. Install dependencies: composer install
  3. Run tests: vendor/bin/pest
  4. Check code style: vendor/bin/pint

Guidelines

πŸ“„ License

This package is open-sourced software licensed under the MIT license.

πŸ’¬ Support

For support, please:

  1. Check this documentation first
  2. Search existing issues
  3. Create a new issue with detailed information
  4. Consider sponsoring the project for priority support

All versions of filament-app-version-manager with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
filament/filament Version ^3.0
illuminate/contracts Version ^10.0|^11.0|^12.0
spatie/laravel-package-tools Version ^1.15.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package alareqi/filament-app-version-manager contains the following files

Loading the files please wait ...