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.
Download alareqi/filament-app-version-manager
More information about alareqi/filament-app-version-manager
Files in alareqi/filament-app-version-manager
Package filament-app-version-manager
Short Description A comprehensive Filament plugin for managing mobile app versions with bilingual support, API endpoints, and advanced version control features.
License MIT
Informations about the package filament-app-version-manager
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:
- π Complete Documentation - Full documentation index
- π Quick Start Guide - Get started in 5 minutes
- π¦ Installation Guide - Step-by-step installation
- βοΈ Configuration Examples - Basic and advanced configuration examples
β¨ Features
- π Complete Version Management: Create, edit, and manage app versions for iOS, Android, and cross-platform releases
- π Multilingual Support: Full localization with JSON multilingual fields and API locale support
- π± Platform Support: iOS and Android platforms with Filament enum integration
- π Version Rollback: Built-in rollback functionality with proper validation
- π API Integration: RESTful API endpoints with localization, caching, and rate limiting
- β‘ Force Updates: Configure mandatory updates for critical releases
- π§ͺ Beta Versions: Support for beta releases and testing
- π Metadata Support: Store additional version metadata as JSON
- π Audit Trail: Track who created and updated versions with timestamps
- π¨ Modern UI: Beautiful Filament interface with tabs, actions, and notifications
- βοΈ Advanced Configuration: Fluent API with closure support for dynamic configuration
- π§ Highly Customizable: Override any configuration programmatically with method chaining
- π Navigation Localization: Proper localization support for navigation groups and labels
- π Production Ready: Comprehensive testing, error handling, and performance optimization
Requirements
- PHP 8.1+
- Laravel 10.0+
- Filament 3.0+
π¦ 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:
- Publish configuration files
- Publish and run migrations
- Provide setup instructions
βοΈ 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:
- Create new app versions with release notes in multiple languages
- Set platform-specific versions (iOS, Android)
- Configure force updates and beta releases
- Manage version rollbacks
- View comprehensive version history
- Export version data
- Bulk actions for managing multiple versions
π 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:
- Without locale:
release_notesis an object containing all available translations - With locale:
release_notesis a string containing the localized text for the requested locale
Fallback Logic:
- If the requested locale is not available, falls back to the default locale
- If the default locale is not available, falls back to the fallback locale
- If no locales are available, returns the first available translation
- Maintains backward compatibility when no locale is specified
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:
- Language Tabs: Separate tabs for each configured locale
- Individual Text Areas: Dedicated textarea for each language
- Language Labels: Proper language names (e.g., "English", "Ψ§ΩΨΉΨ±Ψ¨ΩΨ©", "FranΓ§ais")
- Validation: Ensure required locales have content
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:
id- Primary keyversion- Version string (e.g., "1.0.0")build_number- Optional build numberplatform- Enum: ios, androidminimum_required_version- Minimum version requiredrelease_notes- JSON multilingual fieldrelease_date- Release datedownload_url- App store URLforce_update- Boolean flagis_active- Boolean flagis_beta- Boolean flagis_rollback- Boolean flagmetadata- JSON field for additional datacreated_by- Foreign key to admin usersupdated_by- Foreign key to admin userscreated_at- Timestampupdated_at- Timestamp
Translations
The plugin supports full bilingual functionality with translations for:
- English (
en) - Arabic (
ar)
Translation files are located in:
lang/vendor/filament-app-version-manager/en/app_version.phplang/vendor/filament-app-version-manager/ar/app_version.php
π§ͺ 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:
-
Ensure the plugin is registered in your panel provider:
-
Clear your application cache:
- Ensure migrations have been run:
API Endpoints Not Working
Problem: API endpoints return 404 or are not accessible.
Solutions:
-
Ensure API routes are enabled:
-
Check your route cache:
- 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:
-
Ensure multilingual feature is enabled:
-
Configure supported locales:
- Clear configuration cache:
Navigation Group Not Localized
Problem: Navigation group shows as "null" or doesn't use translations.
Solutions:
-
Publish and configure translations:
-
Set navigation group to null in config to use localized default:
- Or set a custom localized group:
Configuration Overrides Not Working
Problem: Plugin configuration overrides are not taking effect.
Solutions:
-
Ensure you're using the correct method names and syntax:
-
For closure-based configuration, ensure closures return the expected type:
- Clear all caches after configuration changes:
Database Migration Issues
Problem: Migration fails or tables are not created properly.
Solutions:
-
Ensure you have proper database permissions.
-
Check for conflicting table names:
- Run migrations with verbose output:
Performance Issues
Problem: Admin panel or API responses are slow.
Solutions:
-
Enable API caching:
-
Add database indexes if you have many records:
- 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:
- Check the GitHub Issues for similar problems
- Enable debug mode and check your Laravel logs
- Ensure you're using compatible versions of PHP, Laravel, and Filament
- Create a minimal reproduction case when reporting issues
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
- Clone the repository
- Install dependencies:
composer install - Run tests:
vendor/bin/pest - Check code style:
vendor/bin/pint
Guidelines
- Follow PSR-12 coding standards
- Add tests for new features
- Update documentation for any changes
- Ensure all tests pass before submitting
π License
This package is open-sourced software licensed under the MIT license.
π¬ Support
For support, please:
- Check this documentation first
- Search existing issues
- Create a new issue with detailed information
- Consider sponsoring the project for priority support
All versions of filament-app-version-manager with dependencies
filament/filament Version ^3.0
illuminate/contracts Version ^10.0|^11.0|^12.0
spatie/laravel-package-tools Version ^1.15.0