{"id":15025130,"url":"https://github.com/shunnmugam/laravel-admin","last_synced_at":"2025-04-12T12:32:18.060Z","repository":{"id":37886754,"uuid":"109236493","full_name":"shunnmugam/laravel-admin","owner":"shunnmugam","description":"Laravel Admin panel with theme , modules ,artisan commands and helper classess.Laravel admin boilerplate with theme and modules","archived":false,"fork":false,"pushed_at":"2022-06-22T17:17:40.000Z","size":2973,"stargazers_count":32,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T09:37:33.876Z","etag":null,"topics":["admin-dashboard","administration-interface","administration-panel","administrator","artisan-command","change-theme","cms","laravel","laravel-admin-panel","laravel-command","laravel-framework","laravel-theme-maker","laravel-themes","module","modules","modules-with-theme","php-artisan","theme","theme-folder","themes"],"latest_commit_sha":null,"homepage":"https://shunnmugam.github.io/laravel-admin/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shunnmugam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-02T08:18:18.000Z","updated_at":"2024-07-22T09:50:18.000Z","dependencies_parsed_at":"2022-08-23T23:30:50.760Z","dependency_job_id":null,"html_url":"https://github.com/shunnmugam/laravel-admin","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shunnmugam%2Flaravel-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shunnmugam%2Flaravel-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shunnmugam%2Flaravel-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shunnmugam%2Flaravel-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shunnmugam","download_url":"https://codeload.github.com/shunnmugam/laravel-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248358614,"owners_count":21090406,"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-dashboard","administration-interface","administration-panel","administrator","artisan-command","change-theme","cms","laravel","laravel-admin-panel","laravel-command","laravel-framework","laravel-theme-maker","laravel-themes","module","modules","modules-with-theme","php-artisan","theme","theme-folder","themes"],"created_at":"2024-09-24T20:01:33.348Z","updated_at":"2025-04-12T12:32:14.850Z","avatar_url":"https://github.com/shunnmugam.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Content Management System using laravel framework\n\n## Features:\n\n1. Cms\n2. Admin interface\n3. Module based app\n4. Theme based\n5. Plugins\n6. Roles and Permissions\n7. Menu creation\n8. User Management\n9. Page Creation\n10. Mail configurations\n11. Site Configuration,etc\n\u003c/ol\u003e\n\n## Version\n\n| Laravel Version | Version    |\n| --------------- | ---------- |\n| 5.4             | 1.0 to 2.0 |\n| 5.5             | \u003e=2.1      |\n| 5.6             | \u003e=2.1      |\n| 5.7             | \u003e=2.1      |\n| 5.8             | \u003e=2.2      |\n| 6               | \u003e=2.3      |\n| 7               | \u003e=2.3      |\n| 8               | \u003e=2.4      |\n\n## Change Logs\n\n### Version v2.4\n\n1. Data table version update\n2. Seed command bug fix\n\n### Version v2.2\n\n1. Data table version update\n2. Bug fix\n\n### Version v2.1.1\n\n1. CRUD Module added\n   easy crud module with single command\n\n-   ##### `php artisan make:cms-module {module-name} {--crud}`\n    eg:\n    ```bash\n    php artisan make:cms-module test --crud\n    ```\n\n2. CRUD view\n   create crud views using artisan command\n\n-   ##### `php artisan make:cms-crudviews`\n\n    it will create 2 file inside resources/views/admin\n\n    `index.blade.php`\n    `edit.blade.php`\n\n## Install:\n\n```bash\ncomposer require phpworkers/cms\n```\n\n## Requiremments:\n\n1. Laravel 5.4 or later\n2. laravelcollective/html: ~5.0\n3. yajra/laravel-datatables-oracle: ~9.0\n4. unisharp/laravel-filemanager: ^1.8\n\n## After Install:\n\n```php\n// Add following Lines to `config/app.php` providers array\n//html\nCollective\\Html\\HtmlServiceProvider::class,\n//datatable\nYajra\\DataTables\\DatatablesServiceProvider::class,\nRamesh\\Cms\\CmsServiceProvider::class,\n\n// Add Following Lines to `config/app.php`  aliases array\n'Form' =\u003e Collective\\Html\\FormFacade::class,\n'Html' =\u003e Collective\\Html\\HtmlFacade::class,\n'Cms' =\u003e Ramesh\\Cms\\Facades\\Cms::class,\n```\n\n##### Then Run Following commands\n\n```sh\n# Publishing css,js,config files,core modules,theme,etc\nphp artisan vendor:publish\n\n# Publishing filemanager resources\nphp artisan vendor:publish --provider=\"UniSharp\\LaravelFilemanager\\LaravelFilemanagerServiceProvider\"\n\ncomposer dump-autoload\n\n# Migrate our tables\nphp artisan cms-migrate\n\n# Seeding\nphp artisan db:cms-seed\n\n#register modules to table\nphp artisan update:cms-module\n\n#register plugins\nphp artisan update:cms-plugins\n\n#regiser menus\nphp artisan update:cms-menu\n```\n\nOpen your `route/web.php` and remove rollowing lines(route)\n\n```php\nRoute::get('/', function () {\n    return view('welcome');\n});\n```\n\nthen run\n\n```sh\nphp artisan serve\n```\n\nand open [localhost:8000/administrator](localhost:8000/administrator)\n\n##### Username : admin\n\n##### Password : admin123\n\n## Documents\n\n-   Folder Structure\n-   Theme\n-   What is Module?\n-   Core\n-   Local\n-   List of core modules\n-   Create Own module\n-   Artisian Commands\n-   Skin\n-   Helper\n-   Core Helper functions\n-   Plugins\n\n### Folder Structure\n\n#### Main path\n\n```tree\n  cms (main)\n    |\n    |__core\n    |  |\n    |  |__core modules\n    |\n    |__local\n        |\n        |__themes\n            |\n            |__local modules\n\n1.cms : cms path is the main path of our app,that contain\n\n      1.1 : core\n      1.2 : local\n\n    1.1 : core : core path is core module path ,that contain number of core modules,avoid to write core modules\n\n        1.1.1 : core modules -\u003e core path contain number of core modules\n\n    1.2 : local : local path contain theme,we can create multiple theme\n\n      1.2.1 : local modules -\u003e theme path contain number of local module(user create module)\n```\n\n#### Skin path\n\n```tree\n  public\n    public (main)\n    |\n    |_skin\n        |\n        |__theme name\n                |\n                |__css,js,vendor,fonts,etc\n\n    1 : public -\u003epublic folder is default folder in laravel\n\n        1.1 : skin -\u003e skin folder is our assets folder\n\n        1.1.1 : theme name -\u003e folder name is theme name , that contain css, fonts ,js,etc\n```\n\n### Theme\n\nTheme is main part of our package,we can create multiple theme,our package is theme and moduler based,all theme is placed on cms-\u003elocal folder \u003cbr\u003e\nDefault theme is **theme1**\n\n#### Create Theme\n\nJust create new folder inside of cms-\u003elocal\n\n#### Change theme\n\nIf you want to change theme?its very easy \u003cbr\u003e\nGo to adminpanel-\u003esite configuration-\u003echange theme \u003cbr\u003e\n\n### Modules\n\nModule is is a mechanism to group controller, views, modules, etc that are related, otherword module is pice of code or package of laravel\n\n### Core\n\ncore is folder,that contain core modules **(pre-defind)** Module\u003cbr\u003e\n\n\u003e Note: Don't change any code of core module's\n\n### Local\n\nlocal folder contain local module,which is created by user\n\n### Create own module\n\n**php artisan make:cms-module {module-name}**\n\neg :\n\n```bash\nphp artisan make:cms-module helloworld\n```\n\n\u003cbr\u003ehelloworld module is created under current theme folder\n\u003cbr\u003e\nthen register our module to database for feature use\n\u003cbr\u003e\n\u003cb\u003ephp artisan update:cms-module\u003c/b\u003e \u003cbr /\u003e\n\n\u003ch5\u003eWhere is the entry point (provider) of the module?\u003c/h5\u003e\nopen provider folder under cms/local/{module} \u003cbr /\u003e\nthat provider is same as laravel provider so boot and register method is important and additionaly we have some functions \u003cbr /\u003e\n\u003col\u003e\n  \u003cli\u003e\n    registerRoot   -\u003e registerRoot method is used to registreing our custom module routes\n  \u003c/li\u003e\n  \u003cli\u003e\n    registerAdminRoot -\u003e registerAdminRoot method is used to registering our custom module admin routes\n  \u003c/li\u003e\n  \u003cli\u003e\n    registerViews -\u003e registerViews method is used to registering our custom module views\n  \u003c/li\u003e\n\u003c/ol\u003e\nif you want to enable this method,just uncommands calls inside register method of your provider\nthats all :) ,lets see files in modules,\u003cbr\u003e\n\u003col\u003e\n\u003cli\u003emodule.json -\u003efile\u003c/li\u003e\n\u003cli\u003ecomposer.json -\u003efile\u003c/li\u003e\n\u003cli\u003emenu.xml -\u003e file\u003c/li\u003e\n\u003cli\u003eroutes.php -\u003e file\u003c/li\u003e\n\u003cli\u003eadminroutes -\u003e file\u003c/li\u003e\n\u003cli\u003eController  -\u003e folder\u003c/li\u003e\n\u003cli\u003eDatabase -\u003efolder\u003c/li\u003e\n\u003cli\u003eModels -\u003e folder\u003c/li\u003e\n\u003cli\u003econfig -\u003e folder\u003c/li\u003e\n\u003cli\u003eresourcesc-\u003e folder\u003c/li\u003e\n\u003cli\u003eEvents -\u003e folder\u003c/li\u003e\n\u003cli\u003eListeners -\u003e folder\u003c/li\u003e\n\u003cli\u003eMail -\u003e folder\u003c/li\u003e\n\u003cli\u003eMiddleware -\u003e folder\u003c/li\u003e\n\u003cli\u003ehelpers -\u003efolder\u003c/li\u003e\n\u003c/ol\u003e\n\n#### module.json\n\n```json\n{\n    \"name\": \"helloworld\",\n    \"version\": \"0.0.1\",\n    \"type\": \"local\",\n    \"providers\": [\"Providers\\\\HelloworldServiceProvider\"]\n}\n```\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        Parameter\n      \u003c/th\u003e\n      \u003cth\u003e\n        Data type\n      \u003c/th\u003e\n      \u003cth\u003e\n        Use\n      \u003c/th\u003e\n      \u003cth\u003e\n        is optional?\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        name\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string \n      \u003c/td\u003e\n      \u003ctd\u003e\n        name of the module\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NO\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        version\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string \n      \u003c/td\u003e\n      \u003ctd\u003e\n        version of the module\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NO\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        type\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string (core/local) \n      \u003c/td\u003e\n      \u003ctd\u003e\n        type of the module\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NO\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        providers\n      \u003c/td\u003e\n      \u003ctd\u003e\n        Array \n      \u003c/td\u003e\n      \u003ctd\u003e\n        Provider of this module,provider is register point of our module\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NO\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        plugins\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string (relative path of plugin)\n      \u003c/td\u003e\n      \u003ctd\u003e\n        plugin path,that used to defind plugin\n      \u003c/td\u003e\n      \u003ctd\u003e\n        YES\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        helpers\n      \u003c/td\u003e\n      \u003ctd\u003e\n        object (relative path of helpers)\n      \u003c/td\u003e\n      \u003ctd\u003e\n        helpers path,that used to defind helpers,helpers contain common functions,we can use any where\n        \u003cbr\u003e\n        eg:\u003cbr\u003e\n        \u003ccode\u003e\n          \"helpers\" : {\n              \"HelperName1\":\"cms\\\\core\\\\blog\\\\helpers\\\\Blog\",\n              \"HelperName2\":\"some path\",\n              ....\n            }\n        \u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        YES\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        search\n      \u003c/td\u003e\n      \u003ctd\u003e\n        object (relative path of search class)\n      \u003c/td\u003e\n      \u003ctd\u003e\n        search path,that used to defind search helper,search class functions, this is used to make our module is searchable\n        \u003cbr\u003e\n        eg:\u003cbr\u003e\n        \u003ccode\u003e\n          \"helpers\" : {\n              \"HelperName1\":\"cms\\\\core\\\\blog\\\\helpers\\\\Blog\",\n              \"HelperName2\":\"some path\",\n              ....\n            }\n        \u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        YES\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003econfiguration\u003c/td\u003e\n      \u003ctd\u003estring (view file path of configuration)\u003c/td\u003e\n      \u003ctd\u003econfiguration is used to view or edit module configuration\n        eg:\u003cbr /\u003e\n        \u003ccode\u003e\n          \"configuration\" : \"user::admin.configuration.configuration\",\n        \u003c/code\u003e\n        \u003cbr /\u003e\n        Above example is taken from user module,that mean user configuration is place on cms/core/user/admin/configuration/configuraion.blade.php\n      \u003c/td\u003e\n      \u003ctd\u003e\n        YES\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003econfiguration_data\u003c/td\u003e\n      \u003ctd\u003estring (configuration data function path)\u003c/td\u003e\n      \u003ctd\u003econfiguration data is get module configuration from function,its define function name,this function should return module configuration\u003cbr /\u003e\n        eg:\u003cbr /\u003e\n        \u003ccode\u003e\n          \"configuration_data\" : \"\\\\cms\\\\core\\\\user\\\\Controllers\\\\UserController@getConfigurationData\"\n        \u003c/code\u003e\n        \u003cbr /\u003e\n        Above example is taken from user module, \u003cbr /\u003e\n        that mean user configuration function is place on \u003cb\u003ecms/core/user/controller/UserController.php \u003cb\u003eand function name is \u003cb\u003egetConfigurationData\u003c/b\u003e\n        \u003cbr /\u003e\n        \u003ccode\u003e\n          /* \u003cbr /\u003e\n           * configurations option\u003cbr /\u003e\n           */\u003cbr /\u003e\n          public function getConfigurationData()\u003cbr /\u003e\n          {\u003cbr /\u003e\n              $group = UserGroupModel::where('status',1)-\u003ewhere('id','!=',1)-\u003eorderBy('group','Asc')-\u003epluck(\"group\",\"id\");\u003cbr /\u003e\n              return ['user_group'=\u003e$group];\u003cbr /\u003e\n          }\u003cbr /\u003e\n        \u003c/code\u003e\n        \u003cbr /\u003e\n        Above function return available user groups\n      \u003c/td\u003e \n      \u003ctd\u003e\n        YES\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch4\u003ecomposer.json\u003c/h4\u003e\n\u003ccode\u003e\n  {\n  \"name\": \"cms/user\",\n  \"description\": \"\",\n  \"authors\": [\n    {\n      \"name\": \"Ramesh\",\n      \"email\": \"shunramit@gmail.com\"\n    }\n  ],\n  \"autoload\": {\n    \"psr-4\": {     \n    }\n  }\n}\n\u003c/code\u003e\u003cbr /\u003e\ncomposer.json file is contain detail about module and author and that contain autoload\n\u003cbr /\u003e\njust leave it this one, we will add autoload feature in later\n\u003cbr /\u003e\n\u003ch4\u003emenu.xml\u003c/h4\u003e\nmenu.xml is used for add menu and menu group in adminpanel like joomla menu\n\u003cbr /\u003e\n\u003cpre class='brush: xml;'\u003e\n  \u0026lt; ?xml version=\"1.0\" encoding=\"utf-8\"? \u0026gt;\n \u0026lt;menus\u003e\n     \u0026lt;group name=\"General\" order=\"0\"\u003e\n         \u0026lt;menugroup name=\"Users\" icon=\"fa fa-user\" order=\"0\"\u003e\n             \u0026lt;menu name=\"View Users\" route=\"user.index\" /\u003e\n             \u0026lt;menu name=\"Add User\" route=\"user.create\" /\u003e\n          \u0026lt;/menugroup\u003e\n      \u0026lt;/group\u003e\n  \u0026lt;/menus\u003e\n\u003c/pre\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        Tag\n      \u003c/th\u003e\n      \u003cth\u003e\n        Use\n      \u003c/th\u003e\n      \u003cth\u003e\n        Parent\n      \u003c/th\u003e\n      \u003cth\u003e\n        Attributes\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n         \u003ccode\u003e\u0026lt;menus\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        menus tag is main tag of the menu.xml,that is bootstarp of menu.xml\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NULL\n      \u003c/td\u003e\n      \u003ctd\u003e\n        NULL\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n         \u003ccode\u003e\u0026lt;group\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        group tag is defind menu type,default type is general,you can create own group using name attribute\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ccode\u003e\u0026lt;menus\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003ename \u003cbr /\u003e\n            name attribute is defind name of the menu type\u003cbr /\u003e\n            name is mandtory attribute\n          \u003c/li\u003e\n          \u003cli\u003e\n            order \u003cbr /\u003e\n            order attribute defind order of the menutype\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n         \u003ccode\u003e\u0026lt;menugroup\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        menugroup tag is defind menu group for example user module menus is placed under user menugroup\n        \u003ci\u003eMenugroup is optional\u003c/i\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ccode\u003e\u0026lt;menus\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003ename \u003cbr /\u003e\n            name attribute is defind name of the menu group\u003cbr /\u003e\n            name is mandtory attribute\n          \u003c/li\u003e\n          \u003cli\u003e\n            order \u003cbr /\u003e\n            order attribute defind order of the menu group\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n         \u003ccode\u003e\u0026lt;menu\u003e\u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        menu tag is used to give a link otherword its just clickable link\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ccode\u003e\u0026lt;menus\u003e OR \u0026lt;menugroup\u003e \u003c/code\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003ename \u003cbr /\u003e\n            name attribute is defind name of the menu group\u003cbr /\u003e\n            name is mandtory attribute\n          \u003c/li\u003e\n          \u003cli\u003eicon \u003cbr /\u003e\n            icon attribute is used to add font awsome icon\u003cbr /\u003e\n          \u003c/li\u003e\n          \u003cli\u003eroute \u003cbr /\u003e\n            route attribute is accept named route\u003cbr /\u003e\n            \u003ci\u003eif you want add url?just use \u003cb\u003eis_url \u003c/b\u003e attribute \u003cbr /\u003e\n              eg : \u003cbr /\u003e\n              \u003ccode\u003e\n                \u0026lt;menu name=\"Module Configurations\" route=\"/administrator/configurations/module/1\" is_url=\"1\"/\u003e\n              \u003c/code\u003e\n            \u003c/i\u003e\n          \u003c/li\u003e\n          \u003cli\u003eis_url \u003cbr /\u003e\n            is_url attribute is used to identify given menu route is url or named route,if is_url=\"1\" means given route is url otherwise given route is named roue\n          \u003c/li\u003e\n          \u003cli\u003e\n            order \u003cbr /\u003e\n            order attribute defind order of the menu group\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch4\u003e\n  routes.php\n\u003c/h4\u003e\n\u003cp\u003eroutes.php file contain routes of the frontend app exclude admin routes\u003cbr /\u003e\ndon't have routes.php?,just create it.. :) \u003cbr /\u003e\nif you don't like file name?\u003cbr /\u003e\nwe have good solution for you \u003cbr /\u003e\ngo to your module main provider and find registerRoot function then change it \u003cbr /\u003e\n\u003c/p\u003e\n\u003ch4\u003eadminroutes.php\u003c/h4\u003e\n\u003cp\u003e\n  adminroutes.php file contain routes of the admin \u003cbr /\u003e\n  this file is include admin middlewares and admin route group with administrator prefix\u003cbr /\u003e\n  if you dont want admin middleware of current module \u003cbr /\u003e\n  go to your module provider and find registerAdminRoot method and remove middleware\n\u003c/p\u003e\n\u003ch4\u003eFolders of the modules\u003c/h4\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003e\n        Name\n      \u003c/th\u003e\n      \u003cth\u003e\n        Use\n      \u003c/th\u003e\n      \u003cth\u003e\n        Sub-folders\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        Controller\n      \u003c/td\u003e\n      \u003ctd\u003e\n        controller folder contain controllers\n      \u003c/td\u003e\n      \u003ctd\u003e\n        -\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        Database\n      \u003c/td\u003e\n      \u003ctd\u003e\n        Database folder contain migrations and seeds\n      \u003c/td\u003e\n      \u003ctd\u003e\n        Migration  -\u003e that contain migrations\n        Seeds  -\u003e that contain seeds\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eModels\u003c/td\u003e\n      \u003ctd\u003eModels folder contain Models class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ehelpers\u003c/td\u003e\n      \u003ctd\u003ehelpers folder contain helpers class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eproviders\u003c/td\u003e\n      \u003ctd\u003eproviders folder contain providers class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eresources\u003c/td\u003e\n      \u003ctd\u003eresources folder contain assets and views\u003c/td\u003e\n      \u003ctd\u003eviews,assets\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eMail\u003c/td\u003e\n      \u003ctd\u003eMail folder contain Mail class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eEvents\u003c/td\u003e\n      \u003ctd\u003eEvents folder contain Events class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eListeners\u003c/td\u003e\n      \u003ctd\u003eListeners folder contain Listeners class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eMiddleware\u003c/td\u003e\n      \u003ctd\u003eMiddleware folder contain Middleware class\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eConsole\u003c/td\u003e\n      \u003ctd\u003eConsole folder contain artisan comands\u003c/td\u003e\n      \u003ctd\u003eCommands\u003c/td\u003e\n    \u003c/tr\u003e \n    \u003ctr\u003e\n      \u003ctd\u003econfig \u003c/td\u003e\n      \u003ctd\u003econfig folder contain config array like roles (deprecated) and mailer configurations\u003c/td\u003e\n      \u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eArtisian Commands\u003c/h3\u003e\n\u003cp\u003ewe provide more artisan commands\u003c/p\u003e\n\u003cp\u003eimagin we have more than 30 artisan commands,its not remebarable,but you know default laravel commands so we have some idea,we added one common word for all laravel commands,thats it,now easily you can remember our commands\u003c/p\u003e\neg: \u003cbr /\u003e\ndefault command for creating laravel controller is \u003cbr /\u003e\n\u003cb\u003ephp artisan make:controller {controller-name} \u003c/b\u003e\n\u003cbr /\u003e\nour comand is \u003cbr /\u003e\n\u003cb\u003ephp artisan make:\u003cu\u003ecms-\u003c/u\u003econtroller {controller-name} \u003cu\u003e{module-name}\u003c/u\u003e\u003c/b\u003e\n\u003cbr /\u003e\ndeafult migrate command is \u003cbr\u003e\n\u003cb\u003ephp artisan migrate\u003c/b\u003e\nour migrate command is \u003cbr\u003e\n\u003cb\u003ephp artisan cms-migrate\u003c/b\u003e \u003cbr\u003e\nand one more we have our own commands,its not high count,but very usefull\n\u003ch4\u003eList of our commands\u003c/h4\u003e\n\u003col\u003e\n  \u003cli\u003e\n    \u003cb\u003ephp artisan make:cms-module {module-name}\u003c/b\u003e\n    \u003cbr /\u003e\n    this is used to make new module\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cb\u003ephp artisan update:cms-menu\u003c/b\u003e \u003cbr\u003e\n    this command is used to update or register menus\n  \u003c/li\u003e\n\u003c/ol\u003e\n\u003ch4\u003ecreate new artisan commands for your module\u003c/h4\u003e\nif you want create new comand \u003cbr /\u003e\n\u003cb\u003ephp artisan make:cms-command {command-name} {module-name}\u003c/b\u003e\n\u003cbr\u003e\nfile is created under console/commands folder inside of your module\n\u003cbr\u003e\n\u003ch4\u003ehow to enable own commands?\u003c/h4\u003e\n\u003cbr\u003e\nopen your module provider then create commands array \u003cbr\u003e\neg : \n\u003cbr /\u003e\n\u003cpre\u003e\n    /*\n     * artisan command\n     */\n    protected $commands = [\n        'cms\\core\\{module-name}\\Console\\Commands\\{Commandclass}'\n    ];\n\u003c/pre\u003e\nplease replace module-name and commandclass like\n\u003cpre\u003e\n    /*\n     * artisan command\n     */\n    protected $commands = [\n        'cms\\core\\menu\\Console\\Commands\\AdminMenu'\n    ];\n\u003c/pre\u003e\n\u003cbr\u003e\nthen create method \u003cbr\u003e\n\u003cpre\u003e\n    /*\n     * register commands\n     */\n    protected function registerCommand()\n    {\n        $this-\u003ecommands($this-\u003ecommands);\n    }\n\u003c/pre\u003e\nthen add following line to register method\n\u003cpre\u003e\n  $this-\u003eregisterCommand();\n\u003c/pre\u003e\neg:\n\u003cpre\u003e\n  public function register()\n  {\n      $this-\u003eregisterViews();\n      $this-\u003eregisterRoot();\n      $this-\u003eregisterAdminRoot();\n      $this-\u003eregisterCommand();\n  }\n\u003c/pre\u003e\n\n\u003ch1\u003eWhat is next?\u003c/h1\u003e\n  now i am working on moving this package to react,V3.O will release soon\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshunnmugam%2Flaravel-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshunnmugam%2Flaravel-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshunnmugam%2Flaravel-admin/lists"}