teltek/pumukit-stats-ui-bundle
Symfony bundle providing a web UI for PuMuKIT platform statistics. Adds pages and assets to visualize key metrics for your PuMuKIT installation; install via Composer and update assets/clear cache to enable in your Symfony app.
assets:install).ContainerInterface → Laravel’s Container).stats/dashboard.html.twig) require manual conversion or a templating bridge (e.g., twig/bridge).YamlRouteLoader must be replaced with Laravel’s RouteServiceProvider.assets:install → Laravel Mix/Vite (requires rewriting Webpack Encore configs).StatsCalculator) and integrate it as a Laravel service.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Framework Mismatch | Critical | Avoid direct integration; prefer API or logic extraction. |
| Unmaintained Codebase | High | Fork only if critical; otherwise, build from scratch. |
| PuMuKIT Lock-in | High | Abstract PuMuKIT-specific code or use its API. |
| Asset/Build System | Medium | Use Laravel Mix/Vite to rebuild assets. |
| Twig Dependency | Medium | Replace with Blade or use Inertia.js for frontend. |
| Deprecated Symfony Features | Medium | Audit for compatibility with Symfony 6/7 if using newer Laravel. |
get() → app()->make()).routing component vs. Laravel’s Illuminate/Routing.assets:install → Laravel Mix/Vite (requires Webpack Encore migration).| Step | Action | Tools/Dependencies | Risk | Effort |
|---|---|---|---|---|
| 1 | Audit PuMuKIT API | Postman, API docs | Low | 1 week |
| 2 | Build Laravel API Client | Guzzle, Laravel HTTP Client | Low | 2 weeks |
| 3 | Design Stats UI in Laravel | Livewire/Inertia.js + Tailwind | Medium | 3 weeks |
| 4 | Extract Bundle Logic (Optional) | PHPStan, PHPUnit | High | 4 weeks |
| 5 | Replace Symfony Services | Laravel Service Container | Medium | 2 weeks |
| 6 | Migrate Assets | Laravel Mix/Vite | Low | 1 week |
| 7 | Deprecate Bundle | Composer remove, cache clear | Low | 1 day |
Recommended Path (Lowest Risk):
Process or Symfony/Process (installed via Composer).cache() helper or symfony/cache./stats/views, /stats/errors).composer remove).config/bundles.php and routes.npm run dev).file, redis) must be configured for stats data.How can I help you explore Laravel packages today?