The Laravel Vapor UI.

Related tags

Laravel laravel vapor
Overview

Laravel Vapor UI

Build Status Total Downloads Latest Stable Version License

image Laravel Vapor is an auto-scaling, serverless deployment platform for Laravel, powered by AWS Lambda. Manage your Laravel infrastructure on Vapor and fall in love with the scalability and simplicity of serverless.

Vapor abstracts the complexity of managing Laravel applications on AWS Lambda, as well as interfacing those applications with SQS queues, databases, Redis clusters, networks, CloudFront CDN, and more.

This package provides a beautiful dashboard accessible via your Vapor application that allows you to view / search your application's logs and failed queue jobs.

Official Documentation

Documentation for Vapor UI can be found in the Laravel Vapor documentation.

Contributing

Thank you for considering contributing to Vapor UI! You can read the contribution guide here.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

License

Laravel Vapor UI is open-sourced software licensed under the MIT license.

Comments
  • No results for HTTP or Queue logs

    No results for HTTP or Queue logs

    • Vapor UI Version: 0.0.6
    • Laravel Version: 8.1.0
    • PHP Version: 7.4
    • Database Driver & Version: MySQL 8.0

    The below is the same on test/stage and production.

    If I go to the Queue or HTTP logs I never get any results. The HTTP page polls for a while and then says no results found. The Queue page just seems to endlessly poll for new results but never gets any.

    Is there a setting in AWS I need to enable to get output for these sections?

    I get logs for CLI with the schedule:run output.

    image

    I also have results on the great new Metrics page. image

    vapor.yml

    environments:
      production:
        timeout: 900
        gateway-version: 2
        runtime: php-7.4
        cache: xxxxx
        cli-concurrency: 10
        cli-memory: 256
        cli-timeout: 900
        concurrency: 30
        database: xxxxx
        domain: xxxxx
        memory: 256
        storage: xxxxx
        queue-concurrency: 10
        queue-memory: 256
        warm: 5
    
    bug 
    opened by dmason30 14
  • Two entries for single Log::debug causing json_decode syntax error

    Two entries for single Log::debug causing json_decode syntax error

    • Vapor UI Version: 1.0.3
    • Laravel Version: 8.38.0
    • PHP Version: 8.0.0
    • Database Driver & Version: MySQL 8

    Description:

    Manually doing a Log::debug() with custom array data causes the event message to be split into two entries.

    Log::debug('rateprovidertest.myshopify.com', ['payload' => $payloadArray]);

    This above line should only display rateprovidertest.myshopify.com in the table and the payload should go in context object. But this JSON is not decoded at all. json_last_error_message() gives a Syntax Error too. image

    Steps To Reproduce:

    Log::debug() something like example json data in your project hosted on Laravel Vapor and then try to see this log in Vapor UI.

    Thoughts:

    I am not sure if this is a problem on Laravel Vapor side or AWS side. Why one Log::debug() is split into two events?

    needs more info 
    opened by awebartisan 8
  • Feature request: insights into overprovisioned memory

    Feature request: insights into overprovisioned memory

    It would be amazing if this package could give users some insights into their actual lambda memory usage versus the configured memory limit. This could help users find a more optimised memory setting.

    Running the following query in CloudWatch Insights on a lambda http log:

    filter @type = "REPORT"
    | stats max(@memorySize / 1024 / 1024) as provisonedMemoryMB,
      min(@maxMemoryUsed / 1024 / 1024) as smallestMemoryRequestMB,
      avg(@maxMemoryUsed / 1024 / 1024) as avgMemoryUsedMB,
      max(@maxMemoryUsed / 1024 / 1024) as maxMemoryUsedMB,
      provisonedMemoryMB - maxMemoryUsedMB as overProvisionedMB
    

    results in: | provisonedMemoryMB | smallestMemoryRequestMB | avgMemoryUsedMB | maxMemoryUsedMB | overProvisionedMB | |--------------------|-------------------------|-----------------|-----------------|-------------------| | 732.4219 | 232.6965 | 309.3292 | 311.8515 | 420.5704 |

    opened by georgeboot 6
  • Error when trying to view metrics

    Error when trying to view metrics

    • Vapor UI Version: 0.0.8
    • Laravel Version: 7.28.3
    • PHP Version: 7.4
    • Database Driver & Version: MySQL 8

    Description:

    When viewing the Vapor metrics page, an exception is thrown and no data is presented. We just see a Server Error notice. This is the same on both our staging and productions environments, both within Vapor.

    InvalidArgumentExceptionGET /vapor-ui/api/jobs/metrics Unable to handle the provided timestamp type: object

    InvalidArgumentException Unable to handle the provided timestamp type: object 
        /tmp/vendor/aws/aws-sdk-php/src/Api/TimestampShape.php:32 Aws\Api\TimestampShape::format
        /tmp/vendor/aws/aws-sdk-php/src/Api/Serializer/QueryParamBuilder.php:150 Aws\Api\Serializer\QueryParamBuilder::format_timestamp
        /tmp/vendor/aws/aws-sdk-php/src/Api/Serializer/QueryParamBuilder.php:55 Aws\Api\Serializer\QueryParamBuilder::format
        /tmp/vendor/aws/aws-sdk-php/src/Api/Serializer/QueryParamBuilder.php:75 Aws\Api\Serializer\QueryParamBuilder::format_structure
        /tmp/vendor/aws/aws-sdk-php/src/Api/Serializer/QueryParamBuilder.php:46 Aws\Api\Serializer\QueryParamBuilder::__invoke
        [internal] call_user_func
        /tmp/vendor/aws/aws-sdk-php/src/Api/Serializer/QuerySerializer.php:51 Aws\Api\Serializer\QuerySerializer::__invoke
        /tmp/vendor/aws/aws-sdk-php/src/Middleware.php:96 Aws\Middleware::Aws\{closure}
        /tmp/vendor/aws/aws-sdk-php/src/Middleware.php:80 Aws\Middleware::Aws\{closure}
        /tmp/vendor/aws/aws-sdk-php/src/IdempotencyTokenMiddleware.php:77 Aws\IdempotencyTokenMiddleware::__invoke
        /tmp/vendor/aws/aws-sdk-php/src/AwsClientTrait.php:64 Aws\AwsClient::executeAsync
        /tmp/vendor/aws/aws-sdk-php/src/AwsClientTrait.php:58 Aws\AwsClient::execute
        /tmp/vendor/aws/aws-sdk-php/src/AwsClientTrait.php:86 Aws\AwsClient::__call
        /tmp/vendor/laravel/vapor-ui/src/Repositories/JobsMetricsRepository.php:243 Laravel\VaporUi\Repositories\JobsMetricsRepository::logs
        /tmp/vendor/laravel/vapor-ui/src/Repositories/JobsMetricsRepository.php:162 Laravel\VaporUi\Repositories\JobsMetricsRepository::processedTimeseries
        /tmp/vendor/laravel/vapor-ui/src/Http/Controllers/JobMetricController.php:42 Laravel\VaporUi\Http\Controllers\JobMetricController::index
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:48 Illuminate\Routing\ControllerDispatcher::dispatch
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Route.php:239 Illuminate\Routing\Route::runController
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Route.php:196 Illuminate\Routing\Route::run
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Router.php:685 Illuminate\Routing\Router::Illuminate\Routing\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-ui/src/Http/Middleware/EnsureUpToDateAssets.php:34 Laravel\VaporUi\Http\Middleware\EnsureUpToDateAssets::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-ui/src/Http/Middleware/EnsureEnvironmentVariables.php:44 Laravel\VaporUi\Http\Middleware\EnsureEnvironmentVariables::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-ui/src/Http/Middleware/EnsureUserIsAuthorized.php:26 Laravel\VaporUi\Http\Middleware\EnsureUserIsAuthorized::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/passport/src/Http/Middleware/CreateFreshApiToken.php:50 Laravel\Passport\Http\Middleware\CreateFreshApiToken::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 Illuminate\Routing\Middleware\SubstituteBindings::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:77 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 Illuminate\View\Middleware\ShareErrorsFromSession::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:116 Illuminate\Session\Middleware\StartSession::handleStatefulRequest
        /tmp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:62 Illuminate\Session\Middleware\StartSession::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67 Illuminate\Cookie\Middleware\EncryptCookies::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 Illuminate\Pipeline\Pipeline::then
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Router.php:687 Illuminate\Routing\Router::runRouteWithinStack
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Router.php:662 Illuminate\Routing\Router::runRoute
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Router.php:628 Illuminate\Routing\Router::dispatchToRoute
        /tmp/vendor/laravel/framework/src/Illuminate/Routing/Router.php:617 Illuminate\Routing\Router::dispatch
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:165 Illuminate\Foundation\Http\Kernel::Illuminate\Foundation\Http\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        app/Http/Middleware/SetPreferredLanguage.php:22 App\Http\Middleware\SetPreferredLanguage::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 Illuminate\Foundation\Http\Middleware\TransformsRequest::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 Illuminate\Foundation\Http\Middleware\TransformsRequest::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 Illuminate\Foundation\Http\Middleware\ValidatePostSize::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:63 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/fruitcake/laravel-cors/src/HandleCors.php:37 Fruitcake\Cors\HandleCors::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/fideloper/proxy/src/TrustProxies.php:57 Fideloper\Proxy\TrustProxies::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 Illuminate\Pipeline\Pipeline::then
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:140 Illuminate\Foundation\Http\Kernel::sendRequestThroughRouter
        /tmp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:109 Illuminate\Foundation\Http\Kernel::handle
        /tmp/vendor/laravel/vapor-core/src/Runtime/HttpKernel.php:62 Laravel\Vapor\Runtime\HttpKernel::Laravel\Vapor\Runtime\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-core/src/Runtime/Http/Middleware/EnsureBinaryEncoding.php:19 Laravel\Vapor\Runtime\Http\Middleware\EnsureBinaryEncoding::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-core/src/Runtime/Http/Middleware/EnsureVanityUrlIsNotIndexed.php:16 Laravel\Vapor\Runtime\Http\Middleware\EnsureVanityUrlIsNotIndexed::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-core/src/Runtime/Http/Middleware/RedirectStaticAssets.php:30 Laravel\Vapor\Runtime\Http\Middleware\RedirectStaticAssets::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/vapor-core/src/Runtime/Http/Middleware/EnsureOnNakedDomain.php:39 Laravel\Vapor\Runtime\Http\Middleware\EnsureOnNakedDomain::handle
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 Illuminate\Pipeline\Pipeline::Illuminate\Pipeline\{closure}
        /tmp/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 Illuminate\Pipeline\Pipeline::then
        /tmp/vendor/laravel/vapor-core/src/Runtime/HttpKernel.php:63 Laravel\Vapor\Runtime\HttpKernel::handle
        httpHandler.php:55 [main]
    
    bug 
    opened by aaronhuisinga 5
  • Default timestamp for logs is wrong

    Default timestamp for logs is wrong

    • Vapor UI Version: 0.0.6
    • Laravel Version: 8.2.0
    • PHP Version: 7.4.10
    • Database Driver & Version: Mysql 8

    Description:

    When i load /vapor-ui url, it loads with selected time 5 hours from now, so its in the future and of course doesnt display anything. (The 5 hours difference correspond to my timezone that is UTC-5). To make things worst, when i click on Job->Metrics and the back to Logs->HTTP, its now 10 hours in the future. if i repeat that click series, it continues incrementing 5 hours to the logs screen...

    My timezone is correctly configured in my application, and has been working fine for many years. Laravel Nova also respects my timezone. I have to manually change the start datetime, but its also a little difficult because it changes back again when it finish loading items...

    Steps To Reproduce:

    • Load HTTP Logs Screen
    • Click on Job->Metrics
    • Click on Logs->HTTP
    • Click on Job->Metrics
    • Click on Logs->HTTP
    • ...
    bug 
    opened by jcorrego 5
  • No Http logs are available

    No Http logs are available

    • Vapor UI Version: 1.0.0
    • Laravel Version: 7.20.0
    • PHP Version: 7.4
    • Database Driver & Version: Mysql

    Description:

    Since we updated laravel-ui to 1.0.0 we are no longer capable of listing the Http logs in vapor-ui. We can see logs on Queue and Console screens, but Http screen is simply empty. We can see old logs (previous to the update). We can see our logs in AWS cloudwatch.

    Steps To Reproduce:

    1. Update to 1.0.0
    2. Log in http request
    3. Look for new logs in Htttp vapor ui
    opened by marezelej 4
  • Logs are no longer being displayed after placing the lambdas into a custom VPC

    Logs are no longer being displayed after placing the lambdas into a custom VPC

    • Vapor UI Version: 1.0.0
    • Laravel Version: 8.19.0
    • PHP Version: 7.4
    • Database Driver & Version: RDS MySQL 8.0

    Description:

    As we needed a fixed outgoing IP address for our lambda containers (firewall whitelisting) we placed them into a custom VPC. We followed the official vapor documentation (https://docs.vapor.build/1.0/projects/environments.html#gateway-versions). Everything works like a charm. But if I want to view the logs in vapor-ui (HTTP, CLI and Queue) they are empty and cannot be retrieved. Always getting the message below

    Bildschirmfoto 2020-12-17 um 16 19 58

    Steps To Reproduce:

    1. Place your vapor lambdas into a VPC according official vapor documentation
    2. Open /vapor-ui in your browser
    3. Try to check the logs
    needs more info 
    opened by maegnes 3
  • Retrying failed jobs with retryUntil

    Retrying failed jobs with retryUntil

    Currently, when retrying failed jobs, it would be nice to be able to retry those that have failed due to a retryUntil parameter elapsing.

    Present thought would be that when retrying a job with an expired retryUntil we could reset that value by an hour from the current time.

    If this solution makes sense would you be open to accepting a PR for it?

    needs more info 
    opened by devoncmather 3
  • Not getting any logs despite seeing them in Vapor dashboard

    Not getting any logs despite seeing them in Vapor dashboard

    • Vapor UI Version: 1.0
    • Laravel Version: 7.28
    • PHP Version: 7.4
    • Database Driver & Version: MySQL

    Description:

    After installing and configuring Vapor UI, I can see the metrics and failed jobs fine, but cannot see any logs for http, cli or queue no matter what or how far back I search I always get "No entries were found for the given search criteria. ". I also do not get an option to "keep searching" as mentioned in other issues. If I login to the Vapor website I can see recent logs no problem.

    Steps To Reproduce:

    1. Fresh install of Vapor UI using: composer require laravel/vapor-ui
    2. Publish assets using: php artisan vapor-ui:install
    3. Add VAPOR_ENVIRONMENT & VAPOR_PROJECT to .env for staging environment
    4. Try to access logs on http://localhost/vapor-ui
    opened by kchoppin 3
  • Don't load all failed jobs

    Don't load all failed jobs

    Currently the "jobs" page will load all failed jobs from the database, in order to calculate the statistics.

    We had quite a bit of failed jobs in our database (~500.000) which obviously took too long to load. This resulted in the request timing out and the statistics not loading.

    Code: https://github.com/laravel/vapor-ui/blob/e95c9a7098ca27d6cd0b8655af12ce649fa1a14e/src/Repositories/JobsMetricsRepository.php#L223

    I'm not sure what the proper solution to this issue would be. Ideally, we would run one query that gives us all the statistics we need (that we now calculate using the collections).

    Thoughts? Willing to contribute on a fix but not sure about what's desired here.

    needs more info 
    opened by georgeboot 3
  • Job metrics for environments with multiple queues

    Job metrics for environments with multiple queues

    Hi,

    I've just got the vapor-ui setup in my application over the weekend, but noticed that the metrics for jobs are only reporting from the default queue for the Vapor environment. It'd be great to be able to see the metrics and failed jobs for each once our migration to Vapor is complete, as our existing production environment runs on multiple queues using Redis with Horizon.

    Is this something that would be feasible to add to the vapor-ui? And if so, is it already on the vapor-ui team's roadmap, or would this be something that only comes in if developed via an external pull request?

    Thanks!

    needs more info 
    opened by heathyboyj 3
Releases(v1.6.0)
Owner
The Laravel Framework
The Laravel Framework
⚡ Laravel Charts — Build charts using laravel. The laravel adapter for Chartisan.

What is laravel charts? Charts is a Laravel library used to create Charts using Chartisan. Chartisan does already have a PHP adapter. However, this li

Erik C. Forés 31 Dec 18, 2022
Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster.

Laravel Kickstart What is Laravel Kickstart? Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster. It com

Sam Rapaport 46 Oct 1, 2022
Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

null 9 Dec 14, 2022
Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application.

Laravel Segment Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application. Installation You can install the pac

Octohook 13 May 16, 2022
Laravel Sanctum support for Laravel Lighthouse

Lighthouse Sanctum Add Laravel Sanctum support to Lighthouse Requirements Installation Usage Login Logout Register Email Verification Forgot Password

Daniël de Wit 43 Dec 21, 2022
Bring Laravel 8's cursor pagination to Laravel 6, 7

Laravel Cursor Paginate for laravel 6,7 Installation You can install the package via composer: composer require vanthao03596/laravel-cursor-paginate U

Pham Thao 9 Nov 10, 2022
A package that uses blade templates to control how markdown is converted to HTML inside Laravel, as well as providing support for markdown files to Laravel views.

Install Install via composer. $ composer require olliecodes/laravel-etched-blade Once installed you'll want to publish the config. $ php artisan vendo

Ollie Codes 19 Jul 5, 2021
A light weight laravel package that facilitates dealing with arabic concepts using a set of classes and methods to make laravel speaks arabic

A light weight laravel package that facilitates dealing with arabic concepts using a set of classes and methods to make laravel speaks arabic! concepts like , Hijri Dates & Arabic strings and so on ..

Adnane Kadri 49 Jun 22, 2022
Jetstrap is a lightweight laravel 8 package that focuses on the VIEW side of Jetstream / Breeze package installed in your Laravel application

A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.

null 686 Dec 28, 2022
Laravel Jetstream is a beautifully designed application scaffolding for Laravel.

Laravel Jetstream is a beautifully designed application scaffolding for Laravel. Jetstream provides the perfect starting point for your next Laravel application and includes login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.

The Laravel Framework 3.5k Jan 8, 2023
Laravel Larex lets you translate your whole Laravel application from a single CSV file.

Laravel Larex Translate Laravel Apps from a CSV File Laravel Larex lets you translate your whole Laravel application from a single CSV file. You can i

Luca Patera 68 Dec 12, 2022
A Laravel package that adds a simple image functionality to any Laravel model

Laraimage A Laravel package that adds a simple image functionality to any Laravel model Introduction Laraimage served four use cases when using images

Hussein Feras 52 Jul 17, 2022
A Laravel extension for using a laravel application on a multi domain setting

Laravel Multi Domain An extension for using Laravel in a multi domain setting Description This package allows a single Laravel installation to work wi

null 658 Jan 6, 2023
Example of using abrouter/abrouter-laravel-bridge in Laravel

ABRouter Laravel Example It's a example of using (ABRouter Laravel Client)[https://github.com/abrouter/abrouter-laravel-bridge] Set up locally First o

ABRouter 1 Oct 14, 2021
Laravel router extension to easily use Laravel's paginator without the query string

?? THIS PACKAGE HAS BEEN ABANDONED ?? We don't use this package anymore in our own projects and cannot justify the time needed to maintain it anymore.

Spatie 307 Sep 23, 2022
Laravel application project as Sheina Online Store backend to be built with Laravel and VueJS

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Boas Aditya Christian 1 Jan 11, 2022
Postgis extensions for laravel. Aims to make it easy to work with geometries from laravel models.

Laravel Wrapper for PostgreSQL's Geo-Extension Postgis Features Work with geometry classes instead of arrays. $model->myPoint = new Point(1,2); //lat

Max 340 Jan 6, 2023
laravel - Potion is a pure PHP asset manager for Laravel 5 based off of Assetic.

laravel-potion Potion is a pure PHP asset manager for Laravel based off of Assetic. Description Laravel 5 comes with a great asset manager called Elix

Matthew R. Miller 61 Mar 1, 2022
Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Sergi Tur Badenas 110 Dec 25, 2022