All Projects → codestudiohq → Laravel Totem

codestudiohq / Laravel Totem

Licence: mit
Manage Your Laravel Schedule From A Web Dashboard

Projects that are alternatives of or similar to Laravel Totem

Nebula
Nebula is a minimalistic and easy to use administration tool for Laravel applications, made with Laravel, Alpine.js, and Tailwind CSS.
Stars: ✭ 190 (-85.37%)
Mutual labels:  hacktoberfest, laravel, package, dashboard
Laravelpackage.com
Documentation for LaravelPackage.com: Learn to create Laravel specific PHP packages from scratch, following this open documentation.
Stars: ✭ 214 (-83.53%)
Mutual labels:  hacktoberfest, laravel, package
Platform
A @laravel based RAD platform for back-office applications, admin/user panels, and dashboards.
Stars: ✭ 2,623 (+101.92%)
Mutual labels:  hacktoberfest, laravel, dashboard
Wipe Modules
🗑️ Easily remove the node_modules folder of non-active projects
Stars: ✭ 304 (-76.6%)
Mutual labels:  hacktoberfest, cron, cron-jobs
Cronscheduler.aspnetcore
Cron Scheduler for AspNetCore 2.x/3.x or DotNetCore 2.x/3.x Self-hosted
Stars: ✭ 100 (-92.3%)
Mutual labels:  cron, scheduling, cron-jobs
Laravel Messenger
Simple user messaging package for Laravel
Stars: ✭ 2,140 (+64.74%)
Mutual labels:  hacktoberfest, laravel, package
Laravel Starter
A CMS like modular starter application project built with Laravel 8.x.
Stars: ✭ 299 (-76.98%)
Mutual labels:  hacktoberfest, laravel, dashboard
Laravel Translatable
A Laravel package for multilingual models
Stars: ✭ 624 (-51.96%)
Mutual labels:  hacktoberfest, laravel, package
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+271.44%)
Mutual labels:  hacktoberfest, cron, scheduling
Laravel Acl
This package helps you to associate users with permissions and permission groups with laravel framework
Stars: ✭ 404 (-68.9%)
Mutual labels:  hacktoberfest, laravel, package
Laravel Analytics
Analytics for the Laravel framework.
Stars: ✭ 91 (-92.99%)
Mutual labels:  laravel, package, dashboard
Laravel Packager
A cli tool for creating Laravel packages
Stars: ✭ 1,049 (-19.25%)
Mutual labels:  hacktoberfest, laravel, package
Otter
A relatively automatic CRUD backend administration panel for Laravel
Stars: ✭ 261 (-79.91%)
Mutual labels:  hacktoberfest, laravel, dashboard
Comments
Native comments for your Laravel application.
Stars: ✭ 390 (-69.98%)
Mutual labels:  hacktoberfest, laravel, package
Artisan View
👀 Manage your views in Laravel projects through artisan
Stars: ✭ 708 (-45.5%)
Mutual labels:  hacktoberfest, laravel, package
Laravel Package Maker
Get a 📦 skeleton and all other `make` commands from laravel base for package development.
Stars: ✭ 89 (-93.15%)
Mutual labels:  hacktoberfest, laravel, package
Vmdash
A Cloud (vm) Dashboard that allows you to interact with multiple providers from a single panel
Stars: ✭ 71 (-94.53%)
Mutual labels:  laravel, dashboard
Picasso
Laravel Image Management and Optimization Package
Stars: ✭ 70 (-94.61%)
Mutual labels:  laravel, package
Laravel Ownership
Laravel Ownership simplify management of Eloquent model's owner.
Stars: ✭ 71 (-94.53%)
Mutual labels:  laravel, package
Env Providers
👷 Load Laravel service providers based on your application's environment.
Stars: ✭ 73 (-94.38%)
Mutual labels:  laravel, package

Laravel Totem

Build Status License

Introduction

Join the chat at https://gitter.im/laravel-totem/Lobby

Manage your Laravel Schedule from a pretty dashboard. Schedule your Laravel Console Commands to your liking. Enable/Disable scheduled tasks on the fly without going back to your code again.

Documentation

Compatiblity Matrix

Laravel Totem
8.x 8.x
7.x 7.x
6.x 6.x
5.8 5.x
5.7 4.x
5.6 3.x
5.5 2.x
5.4 1.x

Installing

Totem requires Laravel v5.4 and above, please refer to the above table for compatability. Use composer to install totem to your Laravel project

composer require studio/laravel-totem

Laravel Totem supports auto package discovery for Laravel v5.5+, therefore service provider registration is not required in Laravel v5.5+

Add TotemServiceProvider to the providers array of your Laravel v5.4 application's config/app.php

Studio\Totem\Providers\TotemServiceProvider::class,

Once Laravel Totem is installed & registered,

  • Run the migration
php artisan migrate
  • Publish Totem assets to your public folder using the following command
php artisan totem:assets
Table Prefix

Totems' tables use generic names which may conflict with existing tables in a project. To alleviate this the .env param TOTEM_TABLE_PREFIX can be set which will apply a prefix to all of Totems tables and their models.

Updating

Please republish totem assets after updating totem to a new version

php artisan totem:assets

Configuration

Cron Job

This package assumes that you have a good understanding of Laravel's Task Scheduling and Laravel Console Commands. Before any of this works please make sure you have a cron running as follows:

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Web Dashboard

Laravel Totem's dashboard is inspired by Laravel Horizon. Just like Horizon you can configure authentication to Totem's dashboard. Add the following to the boot method of your AppServiceProvider or wherever you might seem fit.

use Studio\Totem\Totem;

Totem::auth(function($request) {
    // return true / false . For e.g.
    return Auth::check();
});

By default Totem's dashboard only works in local environment. To view the dashboard point your browser to /totem of your app. For e.g. laravel.dev/totem.

Filter Commands Dropdown

By default Totem outputs all Artisan commands on the Create/Edit tasks. To make this dropdown more concise there is a filter config feature that can be set in the totem.php config file.

Example filters

'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
],

This feature uses fnmatch syntax to filter displayed commands. stats:* will match all Artisan commands that start with stats: while email:daily-reports will only match the command named email:daily-reports.

This filter can be used as either a whitelist or a blacklist. By default it acts as a whitelist but an option flag can be set to instead act as a blacklist.

'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
    'whitelist' => true,
],

If the value of whitelist is false then the filter acts as a blacklist.

'whitelist' => false

Middleware

Laravel Totem uses the default web and api middleware but if customization is required the middleware can be changed by setting the appropriate .env value. These values can be found in config/totem.php.

Making Commands available in Laravel Totem

All artisan commands can be scheduled. If you want to hide a command from Totem make sure you have the hidden attribute set to true in your command. For e.g.

protected $hidden = true;

From L5.5 onwards all commands are auto registered, so this wouldn't be a problem.

Command Parameters

If your command requires arguments or options please use the optional command parameters field. You can provide parameters to your command as a string in the following manner

name=john.doe --greetings='Welcome to the new world'

In the example above, name is an argument while greetings is an option

Console Command

In addition to the dashboard, Totem provides an artisan command to view a list of scheduled task.

php artisan schedule:list

Screenshots

Task List
Task List
Task Details
Task List
Edit Task
Task List
Artisan Command to view scheduled tasks
Task List

Changelog

Important versions listed below. Refer to the Changelog for a full history of the project.

Credits

Bug reports, feature requests, and pull requests can be submitted by following our Contribution Guide.

Contributing & Protocols

License

This software is released under the MIT License.

© 2020 Roshan Gautam, All rights reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].