{"id":17246229,"url":"https://github.com/hanson/speedy","last_synced_at":"2026-03-09T10:31:34.374Z","repository":{"id":56983714,"uuid":"81796467","full_name":"Hanson/speedy","owner":"Hanson","description":"🚄A Laravel Admin Package to create a website quickly","archived":false,"fork":false,"pushed_at":"2017-12-25T02:07:17.000Z","size":42,"stargazers_count":145,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-03-14T21:28:15.128Z","etag":null,"topics":["admin","laravel","laravel-admin","speedy"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hanson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-13T07:20:49.000Z","updated_at":"2023-12-25T13:48:34.000Z","dependencies_parsed_at":"2022-08-21T11:20:40.379Z","dependency_job_id":null,"html_url":"https://github.com/Hanson/speedy","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2Fspeedy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2Fspeedy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2Fspeedy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2Fspeedy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hanson","download_url":"https://codeload.github.com/Hanson/speedy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047646,"owners_count":20389206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","laravel","laravel-admin","speedy"],"created_at":"2024-10-15T06:32:48.666Z","updated_at":"2026-03-09T10:31:34.342Z","avatar_url":"https://github.com/Hanson.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speedy\n\n## Introduce\n\nSpeedy is a Laravel admin package build with bootstrap and vue, it contains a sidebar menu , a authentication and \na authorization control\n\n[中文文档](https://laravel-china.org/articles/3829)\n\n## Install\n\nIn your laravel application, execute the following command:\n\n`composer require hanson/speedy`\n\nadd service provider to the app.php:\n\n```\n    'providers' =\u003e [\n        // Laravel Framework Service Providers...\n        //...\n    \n        // Package Service Providers\n        Hanson\\Speedy\\SpeedyServiceProvider::class,\n        // ...\n    \n        // Application Service Providers\n        // ...\n    ]\n```\n\npublish resource:\n\n`php artisan vendor:publish --provider=\"Hanson\\Speedy\\SpeedyServiceProvider\"`\n\nafter that, you might want to change some config about speedy:\n\n```\n// config/speedy.php\nreturn [\n    'class' =\u003e [\n        'namespace' =\u003e 'App\\\\Models\\\\',\n        'model' =\u003e [\n            'role' =\u003e 'Role',\n            'user' =\u003e 'User',\n            'permission' =\u003e 'Permission',\n            'permission_role' =\u003e 'PermissionRole',\n        ]\n    ],\n\n    'table' =\u003e [\n        'role' =\u003e 'role',\n        'permission' =\u003e 'permission',\n        'user' =\u003e 'users',\n        'permission_role' =\u003e 'permission_role',\n    ],\n    // ...\n]\n```\n\nBy default, models will be storage to `App/Models`, and user table is `user`, or you can modify the config wherever you want\n\n```\n    'class' =\u003e [\n        'namespace' =\u003e 'App\\\\Models\\\\',\n        // 'namespace' =\u003e 'App\\\\', set model namespace as 'App\\\\'\n        // ...\n    ],\n    'table' =\u003e [\n        'user' =\u003e 'users', \n        // 'user' =\u003e 'user',set user table name to users\n    ]\n```\n\n__if you are using `user` as your table name, remember to modify the user's migration__\n\ninstall speedy:\n\n`php artisan speedy:install`\n\ncreate a new admin user\n\n`php artisan speedy:admin admin@email.com  --create`\n\nor assign admin to an existing user\n\n`php artisan speedy:admin admin@email.com `\n\nmake auth by default\n\n`php artisan make:auth`\n\nand modify the `$redirectTo = '/home'` to `$redirectTo = /admin` in  `LoginController`\n\nStart up a built-in development server, with `php artisan serve`, visit [http://localhost:8000/admin](http://localhost:8000/admin).\n\n## Menu And Permission\n\nSpeedy sidebar Menus is a very convenient component, you just need to modify the speedy config and run a command to recreate the menu.\n\nSpeedy Permission is simple, it can't deal with complicated situation. Each single menu have a permission to control it. Which mean whoever can see this menu can access everything in it.    \n\n```\n    # speedy.php\n    'menus' =\u003e [\n        'user' =\u003e [\n            'display' =\u003e 'User',\n            'url' =\u003e '/admin/user'\n        ],\n        'role' =\u003e [\n            'display' =\u003e 'Role',\n            'url' =\u003e '/admin/role'\n        ],\n        'about' =\u003e [\n            'display' =\u003e 'About HanSon',\n            'sub' =\u003e [\n                'github' =\u003e [\n                    'display' =\u003e 'HanSon\\'s Github',\n                    'url' =\u003e 'https://github.com/hanson',\n                    'target' =\u003e '_blank'\n                ],\n                'blog' =\u003e [\n                    'display' =\u003e 'HanSon\\'s Blog',\n                    'url' =\u003e 'http://hanc.cc'\n                ]\n            ]\n        ],\n    ]\n```\n\nAfter modify the menu, run `php artisan speedy:menu` to recreate the menu and permission.\n\n## Role\n\nEvery user has one role. Speedy user `admin` as a default role and own every permission, even though you modify the menu and run the recreate menu command.\n\n## Middleware\n\nSpeedy provider a middleware name `speedy.auth` in `Hanson\\Speedy\\Http\\Middleware\\SpeedyAdminMiddleware`, every admin route must add it to keep application save.\n\n`Hanson\\Speedy\\Http\\Controllers\\BaseController` will add middleware automatic.\n\n```\nprotected $permissionName;\n\npublic function __construct()\n{\n    $this-\u003emiddleware('speedy.auth:' . $this-\u003epermissionName);\n}\n```\n\nYou can make your admin controller extends `Hanson\\Speedy\\Http\\Controllers\\BaseController` and set `$permissionName` as the menu key.\n\n## Validate\n\nSpeedy has separate the validate rule in `config/validator`, in the controller, you can use method `$validator = $this-\u003emustValidate('{model}.{method}');` to validate the data. The error will display as you define by `resources/lang/en/attributre`.\n\n## View\n\nThe blade file will be publish in `resources/views/vendor/speedy`, and you might want to change the resource link in `resources/views/vendor/speedy/layouts/app.blade.php`\n\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanson%2Fspeedy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanson%2Fspeedy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanson%2Fspeedy/lists"}