├── public
├── favicon.ico
├── robots.txt
├── mix-manifest.json
├── .htaccess
├── css
│ ├── shop-homepage.css
│ └── custom.css
├── js
│ ├── main.js
│ └── app.js.LICENSE.txt
└── index.php
├── bootstrap
├── cache
│ └── .gitignore
└── app.php
├── storage
├── logs
│ └── .gitignore
├── app
│ └── .gitignore
└── framework
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── cache
│ ├── data
│ │ └── .gitignore
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── database
├── .gitignore
├── seeds
│ ├── RoleUserTableSeeder.php
│ ├── RolesTableSeeder.php
│ ├── DatabaseSeeder.php
│ ├── UsersTableSeeder.php
│ ├── PermissionRoleTableSeeder.php
│ ├── ProductsTableSeeder.php
│ └── ProductCategoriesTableSeeder.php
├── migrations
│ ├── 2020_04_30_000003_create_roles_table.php
│ ├── 2020_04_30_000002_create_permissions_table.php
│ ├── 2020_04_30_000006_create_product_tags_table.php
│ ├── 2020_04_30_000012_add_relationship_fields_to_product_categories_table.php
│ ├── 2020_04_30_000005_create_product_categories_table.php
│ ├── 2020_04_30_000009_create_role_user_pivot_table.php
│ ├── 2020_04_30_000007_create_products_table.php
│ ├── 2020_04_30_000004_create_users_table.php
│ ├── 2020_04_30_000008_create_permission_role_pivot_table.php
│ ├── 2020_04_30_000011_create_product_product_tag_pivot_table.php
│ ├── 2020_04_30_000010_create_product_product_category_pivot_table.php
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ └── 2020_04_30_000001_create_media_table.php
└── factories
│ └── UserFactory.php
├── resources
├── lang
│ └── en
│ │ ├── panel.php
│ │ ├── pagination.php
│ │ ├── auth.php
│ │ └── passwords.php
├── sass
│ ├── app.scss
│ └── _variables.scss
├── views
│ ├── product.blade.php
│ ├── home.blade.php
│ ├── auth
│ │ ├── verify.blade.php
│ │ ├── passwords
│ │ │ ├── email.blade.php
│ │ │ ├── edit.blade.php
│ │ │ ├── confirm.blade.php
│ │ │ └── reset.blade.php
│ │ └── login.blade.php
│ ├── admin
│ │ ├── productTags
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── show.blade.php
│ │ ├── permissions
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── show.blade.php
│ │ ├── productCategories
│ │ │ ├── indexRow.blade.php
│ │ │ └── show.blade.php
│ │ ├── roles
│ │ │ ├── show.blade.php
│ │ │ ├── create.blade.php
│ │ │ └── edit.blade.php
│ │ └── users
│ │ │ └── show.blade.php
│ ├── index.blade.php
│ ├── layouts
│ │ └── app.blade.php
│ └── welcome.blade.php
└── js
│ ├── components
│ └── ExampleComponent.vue
│ ├── app.js
│ └── bootstrap.js
├── .gitattributes
├── tests
├── TestCase.php
├── Unit
│ └── ExampleTest.php
├── Feature
│ └── ExampleTest.php
├── CreatesApplication.php
└── Browser
│ ├── RolesTest.php
│ ├── UsersTest.php
│ ├── ProductTest.php
│ ├── ProductTagTest.php
│ ├── PermissionsTest.php
│ └── ProductCategoryTest.php
├── .gitignore
├── app
├── Http
│ ├── Controllers
│ │ ├── Admin
│ │ │ ├── HomeController.php
│ │ │ ├── PermissionsController.php
│ │ │ ├── ProductTagController.php
│ │ │ ├── UsersController.php
│ │ │ └── RolesController.php
│ │ ├── Controller.php
│ │ ├── Auth
│ │ │ ├── ForgotPasswordController.php
│ │ │ ├── ChangePasswordController.php
│ │ │ ├── ResetPasswordController.php
│ │ │ ├── LoginController.php
│ │ │ ├── ConfirmPasswordController.php
│ │ │ ├── VerificationController.php
│ │ │ └── RegisterController.php
│ │ ├── Traits
│ │ │ └── MediaUploadingTrait.php
│ │ ├── Api
│ │ │ └── V1
│ │ │ │ └── Admin
│ │ │ │ ├── UsersApiController.php
│ │ │ │ ├── PermissionsApiController.php
│ │ │ │ ├── ProductTagApiController.php
│ │ │ │ ├── RolesApiController.php
│ │ │ │ ├── ProductCategoryApiController.php
│ │ │ │ └── ProductApiController.php
│ │ └── HomeController.php
│ ├── Resources
│ │ └── Admin
│ │ │ ├── RoleResource.php
│ │ │ ├── UserResource.php
│ │ │ ├── ProductResource.php
│ │ │ ├── PermissionResource.php
│ │ │ ├── ProductTagResource.php
│ │ │ └── ProductCategoryResource.php
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── VerifyCsrfToken.php
│ │ ├── CheckForMaintenanceMode.php
│ │ ├── TrimStrings.php
│ │ ├── TrustProxies.php
│ │ ├── Authenticate.php
│ │ ├── RedirectIfAuthenticated.php
│ │ ├── SetLocale.php
│ │ └── AuthGates.php
│ ├── Requests
│ │ ├── StorePermissionRequest.php
│ │ ├── StoreProductTagRequest.php
│ │ ├── UpdatePermissionRequest.php
│ │ ├── UpdateProductTagRequest.php
│ │ ├── MassDestroyRoleRequest.php
│ │ ├── MassDestroyUserRequest.php
│ │ ├── MassDestroyProductRequest.php
│ │ ├── MassDestroyPermissionRequest.php
│ │ ├── MassDestroyProductTagRequest.php
│ │ ├── MassDestroyProductCategoryRequest.php
│ │ ├── StoreProductCategoryRequest.php
│ │ ├── StoreRoleRequest.php
│ │ ├── UpdateRoleRequest.php
│ │ ├── UpdateProductCategoryRequest.php
│ │ ├── UpdateUserRequest.php
│ │ ├── StoreUserRequest.php
│ │ ├── UpdatePasswordRequest.php
│ │ ├── StoreProductRequest.php
│ │ └── UpdateProductRequest.php
│ ├── View
│ │ └── Composers
│ │ │ └── FrontPageComposer.php
│ └── Kernel.php
├── Providers
│ ├── BroadcastServiceProvider.php
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── Permission.php
├── ProductTag.php
├── Role.php
├── Console
│ └── Kernel.php
├── Exceptions
│ └── Handler.php
├── Product.php
├── ProductCategory.php
└── User.php
├── .styleci.yml
├── config
├── panel.php
├── cors.php
├── services.php
├── view.php
├── hashing.php
├── broadcasting.php
├── filesystems.php
├── queue.php
├── logging.php
├── cache.php
├── mail.php
└── auth.php
├── .editorconfig
├── webpack.mix.js
├── routes
├── channels.php
├── console.php
├── api.php
└── web.php
├── server.php
├── .env.example
├── phpunit.xml
├── package.json
├── artisan
└── composer.json
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 | *.sqlite-journal
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/data/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !data/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/public/mix-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "/js/app.js": "/js/app.js",
3 | "/css/app.css": "/css/app.css"
4 | }
5 |
--------------------------------------------------------------------------------
/resources/lang/en/panel.php:
--------------------------------------------------------------------------------
1 | 'Multi-level Categories',
5 | ];
6 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 | *.js linguist-vendored
5 | CHANGELOG.md export-ignore
6 |
--------------------------------------------------------------------------------
/resources/lang/en/pagination.php:
--------------------------------------------------------------------------------
1 | '« Previous',
5 | 'next' => 'Next »',
6 | ];
7 |
--------------------------------------------------------------------------------
/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | config.php
2 | routes.php
3 | schedule-*
4 | compiled.php
5 | services.json
6 | events.scanned.php
7 | routes.scanned.php
8 | down
9 |
--------------------------------------------------------------------------------
/resources/sass/app.scss:
--------------------------------------------------------------------------------
1 | // Fonts
2 | @import url('https://fonts.googleapis.com/css?family=Nunito');
3 |
4 | // Variables
5 | @import 'variables';
6 |
7 | // Bootstrap
8 | @import '~bootstrap/scss/bootstrap';
9 |
--------------------------------------------------------------------------------
/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
5 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
6 | ];
7 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | 'Y-m-d',
5 | 'time_format' => 'H:i:s',
6 | 'primary_language' => 'en',
7 | 'available_languages' => [
8 | 'en' => 'English',
9 | ],
10 | ];
11 |
--------------------------------------------------------------------------------
/database/seeds/RoleUserTableSeeder.php:
--------------------------------------------------------------------------------
1 | roles()->sync(1);
11 |
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | insert_final_newline = true
7 | indent_style = space
8 | indent_size = 4
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
14 | [*.{yml,yaml}]
15 | indent_size = 2
16 |
--------------------------------------------------------------------------------
/app/Http/Resources/Admin/RoleResource.php:
--------------------------------------------------------------------------------
1 | assertTrue(true);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 |
5 |
6 |
{{ $product->description }}
10 |{{ Str::limit($product->description, 75) }}
36 || 20 | {{ trans('cruds.permission.fields.id') }} 21 | | 22 |23 | {{ $permission->id }} 24 | | 25 |
|---|---|
| 28 | {{ trans('cruds.permission.fields.title') }} 29 | | 30 |31 | {{ $permission->title }} 32 | | 33 |
| 20 | {{ trans('cruds.productTag.fields.id') }} 21 | | 22 |23 | {{ $productTag->id }} 24 | | 25 |
|---|---|
| 28 | {{ trans('cruds.productTag.fields.name') }} 29 | | 30 |31 | {{ $productTag->name }} 32 | | 33 |
{{ trans('global.reset_password') }}
10 | 11 | @if(session('status')) 12 || 20 | {{ trans('cruds.role.fields.id') }} 21 | | 22 |23 | {{ $role->id }} 24 | | 25 |
|---|---|
| 28 | {{ trans('cruds.role.fields.title') }} 29 | | 30 |31 | {{ $role->title }} 32 | | 33 |
| 36 | {{ trans('cruds.role.fields.permissions') }} 37 | | 38 |39 | @foreach($role->permissions as $key => $permissions) 40 | {{ $permissions->title }} 41 | @endforeach 42 | | 43 |
{{ trans('global.reset_password') }}
10 | 11 | 46 || 20 | {{ trans('cruds.user.fields.id') }} 21 | | 22 |23 | {{ $user->id }} 24 | | 25 |
|---|---|
| 28 | {{ trans('cruds.user.fields.name') }} 29 | | 30 |31 | {{ $user->name }} 32 | | 33 |
| 36 | {{ trans('cruds.user.fields.email') }} 37 | | 38 |39 | {{ $user->email }} 40 | | 41 |
| 44 | {{ trans('cruds.user.fields.email_verified_at') }} 45 | | 46 |47 | {{ $user->email_verified_at }} 48 | | 49 |
| 52 | {{ trans('cruds.user.fields.roles') }} 53 | | 54 |55 | @foreach($user->roles as $key => $roles) 56 | {{ $roles->title }} 57 | @endforeach 58 | | 59 |
| 20 | {{ trans('cruds.productCategory.fields.id') }} 21 | | 22 |23 | {{ $productCategory->id }} 24 | | 25 |
|---|---|
| 28 | {{ trans('cruds.productCategory.fields.name') }} 29 | | 30 |31 | {{ $productCategory->name }} 32 | | 33 |
| 36 | {{ trans('cruds.productCategory.fields.description') }} 37 | | 38 |39 | {{ $productCategory->description }} 40 | | 41 |
| 44 | {{ trans('cruds.productCategory.fields.photo') }} 45 | | 46 |
47 | @if($productCategory->photo)
48 |
49 | |
53 |
| 56 | {{ trans('cruds.productCategory.fields.category') }} 57 | | 58 |59 | {{ $productCategory->parentCategory->name ?? '' }} 60 | | 61 |
| 64 | {{ trans('cruds.productCategory.fields.slug') }} 65 | | 66 |67 | {{ $productCategory->slug }} 68 | | 69 |
{{ trans('global.login') }}
10 | 11 | @if(session('message')) 12 |