پرفیکٹ ویب سلوشنز
83 |Perfect Web Solutions
84 |├── public ├── favicon.ico ├── robots.txt ├── images │ ├── no-thumbnail.jpeg │ └── buildig restful api using lumen 5.51531253709.jpg ├── mix-manifest.json ├── .htaccess ├── index.php └── css │ └── admin.css ├── database ├── .gitignore ├── seeds │ ├── DatabaseSeeder.php │ └── AdminUser.php ├── migrations │ ├── 2018_07_10_130415_add_slug_column_product.php │ ├── 2018_07_25_052407_add_status_field_in_users.php │ ├── 2018_06_28_055235_update_categories_table.php │ ├── 2018_07_18_085233_add_thumbnail_filed_in_profile.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2018_06_22_090050_create_roles_table.php │ ├── 2018_06_22_090015_create_payments_table.php │ ├── 2018_07_24_111814_create_states_table.php │ ├── 2018_07_24_111820_create_cities_table.php │ ├── 2018_06_23_094826_create_categories_table.php │ ├── 2018_06_29_145210_create_category_parent_table.php │ ├── 2018_06_28_051652_create_category_product_table.php │ ├── 2018_07_24_111801_create_countries_table.php │ ├── 2018_07_09_122356_update_products_table.php │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2018_06_22_085809_create_profiles_table.php │ ├── 2018_06_22_085918_create_orders_table.php │ ├── 2018_07_25_052343_add_country_state_city_in_profile_table.php │ ├── 2018_06_22_085838_create_products_table.php │ └── 2018_11_23_061305_create_customer.php └── factories │ └── UserFactory.php ├── bootstrap ├── cache │ └── .gitignore └── app.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── cache │ └── .gitignore │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── resources ├── views │ ├── layouts │ │ ├── partials │ │ │ ├── sidebar.blade.php │ │ │ ├── products.blade.php │ │ │ └── navbar.blade.php │ │ └── app.blade.php │ ├── products │ │ ├── all.blade.php │ │ ├── single.blade.php │ │ └── cart.blade.php │ ├── home.blade.php │ ├── vendor │ │ └── pagination │ │ │ ├── simple-default.blade.php │ │ │ ├── simple-bootstrap-4.blade.php │ │ │ ├── semantic-ui.blade.php │ │ │ ├── default.blade.php │ │ │ └── bootstrap-4.blade.php │ ├── admin │ │ ├── partials │ │ │ ├── extras.blade.php │ │ │ └── navbar.blade.php │ │ ├── app.blade.php │ │ ├── categories │ │ │ ├── create.blade.php │ │ │ └── index.blade.php │ │ ├── users │ │ │ └── index.blade.php │ │ ├── products │ │ │ └── index.blade.php │ │ └── dashboard.blade.php │ ├── auth │ │ ├── passwords │ │ │ ├── email.blade.php │ │ │ └── reset.blade.php │ │ ├── register.blade.php │ │ └── login.blade.php │ └── welcome.blade.php ├── assets │ ├── sass │ │ ├── _variables.scss │ │ ├── admin.scss │ │ └── app.scss │ └── js │ │ ├── bootstrap.js │ │ └── app.js └── lang │ └── en │ ├── pagination.php │ ├── auth.php │ └── passwords.php ├── .gitattributes ├── app ├── City.php ├── State.php ├── Country.php ├── Customer.php ├── Order.php ├── Payment.php ├── Http │ ├── Controllers │ │ ├── AdminController.php │ │ ├── Controller.php │ │ ├── HomeController.php │ │ ├── Auth │ │ │ ├── ForgotPasswordController.php │ │ │ ├── ResetPasswordController.php │ │ │ ├── LoginController.php │ │ │ └── RegisterController.php │ │ ├── RoleController.php │ │ ├── PaymentController.php │ │ ├── ProfileController.php │ │ └── CategoryController.php │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── TrimStrings.php │ │ ├── VerifyCsrfToken.php │ │ ├── TrustProxies.php │ │ ├── AdminAuthenticated.php │ │ └── RedirectIfAuthenticated.php │ ├── Requests │ │ ├── StoreOrder.php │ │ ├── StoreUserProfile.php │ │ └── StoreProduct.php │ └── Kernel.php ├── Role.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AuthServiceProvider.php │ ├── EventServiceProvider.php │ ├── AppServiceProvider.php │ └── RouteServiceProvider.php ├── Product.php ├── Profile.php ├── Category.php ├── Console │ └── Kernel.php ├── User.php ├── Exceptions │ └── Handler.php └── Cart.php ├── README.md ├── .gitignore ├── tests ├── TestCase.php ├── Unit │ └── ExampleTest.php ├── Feature │ └── ExampleTest.php └── CreatesApplication.php ├── .editorconfig ├── routes ├── channels.php ├── api.php ├── console.php └── web.php ├── server.php ├── webpack.mix.js ├── .env.example ├── config ├── view.php ├── services.php ├── hashing.php ├── broadcasting.php ├── filesystems.php ├── logging.php ├── queue.php ├── cache.php ├── auth.php ├── database.php ├── mail.php └── session.php ├── phpunit.xml ├── package.json ├── artisan └── composer.json /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /resources/views/layouts/partials/sidebar.blade.php: -------------------------------------------------------------------------------- 1 |
You Can not Access Directly!!!!
22 | @endif -------------------------------------------------------------------------------- /database/migrations/2018_06_23_094826_create_categories_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('title'); 19 | $table->text('description'); 20 | $table->softDeletes(); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('categories'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2018_06_29_145210_create_category_parent_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->unsignedInteger('parent_id'); 19 | $table->unsignedInteger('category_id'); 20 | $table->timestamps(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::dropIfExists('category_parent'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2018_06_28_051652_create_category_product_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->unsignedInteger('category_id'); 19 | $table->unsignedInteger('product_id'); 20 | $table->timestamps(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::dropIfExists('category_product'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2018_07_24_111801_create_countries_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name'); 19 | $table->string('symbol'); 20 | $table->string('code'); 21 | $table->softDeletes(); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('countries'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2018_07_09_122356_update_products_table.php: -------------------------------------------------------------------------------- 1 | boolean('featured')->default(0)->after('options'); 18 | $table->boolean('status')->default(0)->after('featured'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('products', function (Blueprint $table) { 30 | $table->dropColumn('featured'); 31 | $table->dropColumn('status'); 32 | }); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Http/Requests/StoreUserProfile.php: -------------------------------------------------------------------------------- 1 | 'required', 29 | 'slug'=>'required|unique:profiles,slug,'.$this->slug.',slug', 30 | 'email'=> 'required|email|unique:users,slug,'.$this->slug.',slug', 31 | 'password' => 'required|same:password_confirm', 32 | 'password_confirm'=> 'required', 33 | 'status' => 'required', 34 | ]; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->unsignedInteger('role_id')->default(1); 19 | $table->string('email')->unique(); 20 | $table->string('password'); 21 | $table->rememberToken(); 22 | $table->timestamps(); 23 | $table->softDeletes(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('users'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ForgotPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire') 28 | // ->hourly(); 29 | } 30 | 31 | /** 32 | * Register the commands for the application. 33 | * 34 | * @return void 35 | */ 36 | protected function commands() 37 | { 38 | $this->load(__DIR__.'/Commands'); 39 | 40 | require base_path('routes/console.php'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Http/Requests/StoreProduct.php: -------------------------------------------------------------------------------- 1 | 'required', 31 | 'slug' => 'required|unique:products,slug,'.$this->slug.',slug', 32 | 'description'=>'required', 33 | 'thumbnail' => 'mimes:jpeg,bmp,png|max:2048', 34 | 'status' => 'required|numeric', 35 | 'category_id' => 'required', 36 | 'price' => 'required|numeric' 37 | ]; 38 | 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /resources/views/products/single.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app'); 2 | @section('content') 3 |{!! $product->description !!}
16 |9 mins
21 |{!! substr($product->description,0, 30 ) !!}
11 || Product | 10 |Quantity | 11 |Price | 12 |Action | 13 |
|---|---|---|---|
21 | {{$product['product']->title}}25 |
|
36 | 37 | 42 | | 43 |
44 |
45 | USD {{$product['price']}}
46 | (USD{{$product['product']->price}} each)
47 |
48 | |
49 | 50 | 55 | | 56 |
| Total Qty: | 61 |{{$cart->getTotalQty()}} | 62 |||
| Total Price: | 65 |{{$cart->getTotalPrice()}} | 66 |||
No Products in the Cart Buy Some Products
72 | @endif 73 | @endsection -------------------------------------------------------------------------------- /resources/views/admin/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |پرفیکٹ ویب سلوشنز
83 |Perfect Web Solutions
84 || # | 31 |Name | 32 |Slug | 34 |role | 35 |Address | 36 |Thumbnail | 37 |Date Created | 38 |Actions | 39 ||||
|---|---|---|---|---|---|---|---|---|---|---|
| {{@$user->id}} | 46 |{{@$user->profile->name}} | 47 |{{@$user->email}} | 48 |{{@$user->profile->slug}} | 49 |{{$user->role->name}} | 50 |{{@$user->profile->address}},{{@$user->getCountry()}},{{@$user->getState()}}, {{@$user->getCity()}} | 51 |{{@$user->deleted_at}} | 54 |Restore | Delete 55 | 60 | | 61 | @else 62 |{{$user->created_at}} | 63 | 64 |Edit | Trash | Delete 65 | 70 | | 71 | @endif 72 ||
| No users Found.. | 77 |||||||||||
| # | 29 |Title | 30 |Description | 31 |Slug | 32 |Childrens | 33 |Date Created | 34 |Actions | 35 |||
|---|---|---|---|---|---|---|---|---|
| {{$category->id}} | 42 |{{$category->title}} | 43 |{!! $category->description !!} | 44 |{{$category->slug}} | 45 |46 | @if($category->childrens()->count() > 0) 47 | @foreach($category->childrens as $children) 48 | {{$children->title}}, 49 | @endforeach 50 | @else 51 | {{"Parent Category"}} 52 | @endif 53 | | 54 | @if($category->trashed()) 55 |{{$category->deleted_at}} | 56 |Restore | Delete 57 | 62 | | 63 | @else 64 |{{$category->created_at}} | 65 |Edit | Trash | Delete 66 | 71 | | 72 | @endif 73 |
| No Categories Found.. | 78 |||||||||
| # | 30 |Title | 31 |Description | 32 |Slug | 33 |Categories | 34 |Price | 35 |Thumbnail | 36 |Date Created | 37 |Actions | 38 |||
|---|---|---|---|---|---|---|---|---|---|---|
| {{$product->id}} | 45 |{{$product->title}} | 46 |{!! $product->description !!} | 47 |{{$product->slug}} | 48 |49 | @if($product->categories()->count() > 0) 50 | @foreach($product->categories as $children) 51 | {{$children->title}}, 52 | @endforeach 53 | @else 54 | {{"product"}} 55 | @endif 56 | | 57 |${{$product->price}} | 58 |{{$product->deleted_at}} | 61 |Restore | Delete 62 | 67 | | 68 | @else 69 |{{$product->created_at}} | 70 |Edit | Trash | Delete 71 | 76 | | 77 | @endif 78 ||
| No products Found.. | 83 |||||||||||
| # | 13 |Header | 14 |Header | 15 |Header | 16 |Header | 17 |
|---|---|---|---|---|
| 1,001 | 22 |Lorem | 23 |ipsum | 24 |dolor | 25 |sit | 26 |
| 1,002 | 29 |amet | 30 |consectetur | 31 |adipiscing | 32 |elit | 33 |
| 1,003 | 36 |Integer | 37 |nec | 38 |odio | 39 |Praesent | 40 |
| 1,003 | 43 |libero | 44 |Sed | 45 |cursus | 46 |ante | 47 |
| 1,004 | 50 |dapibus | 51 |diam | 52 |Sed | 53 |nisi | 54 |
| 1,005 | 57 |Nulla | 58 |quis | 59 |sem | 60 |at | 61 |
| 1,006 | 64 |nibh | 65 |elementum | 66 |imperdiet | 67 |Duis | 68 |
| 1,007 | 71 |sagittis | 72 |ipsum | 73 |Praesent | 74 |mauris | 75 |
| 1,008 | 78 |Fusce | 79 |nec | 80 |tellus | 81 |sed | 82 |
| 1,009 | 85 |augue | 86 |semper | 87 |porta | 88 |Mauris | 89 |
| 1,010 | 92 |massa | 93 |Vestibulum | 94 |lacinia | 95 |arcu | 96 |
| 1,011 | 99 |eget | 100 |nulla | 101 |Class | 102 |aptent | 103 |
| 1,012 | 106 |taciti | 107 |sociosqu | 108 |ad | 109 |litora | 110 |
| 1,013 | 113 |torquent | 114 |per | 115 |conubia | 116 |nostra | 117 |
| 1,014 | 120 |per | 121 |inceptos | 122 |himenaeos | 123 |Curabitur | 124 |
| 1,015 | 127 |sodales | 128 |ligula | 129 |in | 130 |libero | 131 |
Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don't simply skip over it entirely.
69 |70 | Main call to action 71 | Secondary action 72 |
73 |87 | {{ session()->get('message') }} 88 |
89 | @endif 90 | @yield('content') 91 |