├── hooks └── hooks.json ├── public ├── favicon.ico ├── robots.txt ├── js │ └── .DS_Store ├── css │ ├── .DS_Store │ └── owl.theme.default.min.css ├── fonts │ ├── .DS_Store │ ├── lg │ │ ├── lg.eot │ │ ├── lg.ttf │ │ └── lg.woff │ ├── flaticon │ │ ├── font │ │ │ ├── Flaticon.eot │ │ │ ├── Flaticon.ttf │ │ │ ├── Flaticon.woff │ │ │ ├── flaticon.css │ │ │ └── _flaticon.scss │ │ ├── license │ │ │ └── license.pdf │ │ └── backup.txt │ └── icomoon │ │ ├── fonts │ │ ├── icomoon.eot │ │ ├── icomoon.ttf │ │ └── icomoon.woff │ │ ├── Read Me.txt │ │ └── demo-files │ │ └── demo.js ├── images │ ├── .DS_Store │ ├── img_1.jpg │ ├── img_2.jpg │ ├── img_3.jpg │ ├── img_4.jpg │ ├── img_5.jpg │ ├── img_6.jpg │ ├── img_7.jpg │ ├── person_1.jpg │ ├── person_2.jpg │ ├── person_3.jpg │ ├── person_4.jpg │ ├── person_5.jpg │ ├── person_6.jpg │ ├── hero_bg_1.jpg │ ├── hero_bg_2.jpg │ ├── hero_bg_3.jpg │ ├── nature_small_1.jpg │ ├── nature_small_2.jpg │ ├── nature_small_3.jpg │ ├── nature_small_4.jpg │ ├── nature_small_5.jpg │ ├── nature_small_6.jpg │ ├── nature_small_7.jpg │ ├── nature_small_8.jpg │ ├── nature_small_9.jpg │ └── big-images │ │ ├── nature_big_1.jpg │ │ ├── nature_big_2.jpg │ │ ├── nature_big_3.jpg │ │ ├── nature_big_4.jpg │ │ ├── nature_big_5.jpg │ │ ├── nature_big_6.jpg │ │ ├── nature_big_7.jpg │ │ ├── nature_big_8.jpg │ │ └── nature_big_9.jpg ├── mix-manifest.json ├── .htaccess └── index.php ├── database ├── .gitignore ├── seeds │ ├── AlbumTableSeeder.php │ ├── PhotoTableSeeder.php │ ├── DatabaseSeeder.php │ ├── SettingTableSeeder.php │ ├── contactinfoTableSeeder.php │ └── TeamSeeder.php ├── factories │ ├── AlbumFactory.php │ ├── ContactinfoFactory.php │ ├── TeamFactory.php │ ├── ServiceFactory.php │ ├── PhotoFactory.php │ └── UserFactory.php └── migrations │ ├── 2019_01_24_061628_add_slug_to_settings_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2019_01_11_082631_add_email_varification_token_to_users.php │ ├── 2018_12_21_153932_create_albums_table.php │ ├── 2019_01_24_060147_create_settings_table.php │ ├── 2019_01_11_135547_create_contact_infos_table.php │ ├── 2019_01_10_152707_create_teams_table.php │ ├── 2019_01_11_051806_create_services_table.php │ ├── 2014_10_12_000000_create_users_table.php │ └── 2018_12_22_071952_create_photos_table.php ├── bootstrap ├── cache │ └── .gitignore └── app.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── cache │ ├── data │ │ └── .gitignore │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── Procfile ├── resources ├── views │ ├── vendor │ │ └── mail │ │ │ ├── markdown │ │ │ ├── panel.blade.php │ │ │ ├── table.blade.php │ │ │ ├── footer.blade.php │ │ │ ├── promotion.blade.php │ │ │ ├── subcopy.blade.php │ │ │ ├── button.blade.php │ │ │ ├── header.blade.php │ │ │ ├── promotion │ │ │ │ └── button.blade.php │ │ │ ├── layout.blade.php │ │ │ └── message.blade.php │ │ │ └── html │ │ │ ├── table.blade.php │ │ │ ├── header.blade.php │ │ │ ├── subcopy.blade.php │ │ │ ├── promotion.blade.php │ │ │ ├── footer.blade.php │ │ │ ├── panel.blade.php │ │ │ ├── promotion │ │ │ └── button.blade.php │ │ │ ├── message.blade.php │ │ │ └── button.blade.php │ ├── email │ │ └── contact.blade.php │ ├── components │ │ └── breadcrumb.blade.php │ ├── partials │ │ └── alert.blade.php │ ├── auth │ │ ├── verify.blade.php │ │ └── passwords │ │ │ └── email.blade.php │ ├── frontend │ │ ├── auth │ │ │ ├── password-reset-token.blade.php │ │ │ ├── mail-verify-again.blade.php │ │ │ ├── login.blade.php │ │ │ ├── password-reset.blade.php │ │ │ └── register.blade.php │ │ ├── index.blade.php │ │ ├── gallery.blade.php │ │ ├── service.blade.php │ │ ├── single.blade.php │ │ └── about.blade.php │ ├── album │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ ├── index.blade.php │ │ └── show.blade.php │ ├── backend │ │ ├── layouts │ │ │ └── app.blade.php │ │ ├── role │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── show.blade.php │ │ │ └── edit.blade.php │ │ ├── contactinfo │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── show.blade.php │ │ │ └── edit.blade.php │ │ ├── album │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── show.blade.php │ │ │ └── edit.blade.php │ │ ├── permission │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── show.blade.php │ │ │ └── edit.blade.php │ │ ├── service │ │ │ ├── index.blade.php │ │ │ ├── show.blade.php │ │ │ └── create.blade.php │ │ ├── photo │ │ │ ├── index.blade.php │ │ │ ├── show.blade.php │ │ │ └── create.blade.php │ │ ├── team │ │ │ ├── index.blade.php │ │ │ ├── show.blade.php │ │ │ ├── create.blade.php │ │ │ └── edit.blade.php │ │ ├── settings │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── edit.blade.php │ │ │ └── show.blade.php │ │ ├── users │ │ │ ├── index.blade.php │ │ │ ├── create.blade.php │ │ │ ├── show.blade.php │ │ │ └── edit.blade.php │ │ └── user │ │ │ └── profile.blade.php │ └── single.blade.php ├── sass │ ├── app.scss │ ├── backend │ │ ├── app.scss │ │ └── _variables.scss │ └── _variables.scss ├── lang │ └── en │ │ ├── pagination.php │ │ ├── auth.php │ │ └── passwords.php └── js │ ├── components │ └── ExampleComponent.vue │ ├── app.js │ ├── backend │ ├── app.js │ └── bootstrap.js │ └── bootstrap.js ├── .gitattributes ├── .gitignore ├── tests ├── TestCase.php ├── Unit │ └── ExampleTest.php ├── Feature │ └── ExampleTest.php └── CreatesApplication.php ├── app ├── Role.php ├── Team.php ├── Setting.php ├── ContactInfo.php ├── Permission.php ├── Service.php ├── Http │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── CheckForMaintenanceMode.php │ │ ├── TrimStrings.php │ │ ├── TrustProxies.php │ │ ├── Authenticate.php │ │ ├── VerifyCsrfToken.php │ │ └── RedirectIfAuthenticated.php │ └── Controllers │ │ ├── Controller.php │ │ ├── HomeController.php │ │ └── FrontendController.php ├── Album.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AuthServiceProvider.php │ ├── AppServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── Photo.php ├── Mail │ └── ContactForm.php ├── User.php ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php └── Notifications │ ├── PasswordResetNotify.php │ ├── VerifyMail.php │ └── NewUserNotification.php ├── .editorconfig ├── routes ├── channels.php ├── api.php └── console.php ├── server.php ├── webpack.mix.js ├── .env.example ├── config ├── view.php ├── laratrust_seeder.php ├── services.php ├── hashing.php ├── broadcasting.php └── filesystems.php ├── phpunit.xml ├── package.json ├── README.md ├── artisan └── composer.json /hooks/hooks.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: vendor/bin/heroku-php-apache2 public/ 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/panel.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }} 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/table.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }} 2 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/footer.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }} 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/promotion.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }} 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/subcopy.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }} 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/button.blade.php: -------------------------------------------------------------------------------- 1 | {{ $slot }}: {{ $url }} 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/header.blade.php: -------------------------------------------------------------------------------- 1 | [{{ $slot }}]({{ $url }}) 2 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/promotion/button.blade.php: -------------------------------------------------------------------------------- 1 | [{{ $slot }}]({{ $url }}) 2 | -------------------------------------------------------------------------------- /public/js/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/js/.DS_Store -------------------------------------------------------------------------------- /public/css/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/css/.DS_Store -------------------------------------------------------------------------------- /public/fonts/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/.DS_Store -------------------------------------------------------------------------------- /public/fonts/lg/lg.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/lg/lg.eot -------------------------------------------------------------------------------- /public/fonts/lg/lg.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/lg/lg.ttf -------------------------------------------------------------------------------- /public/fonts/lg/lg.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/lg/lg.woff -------------------------------------------------------------------------------- /public/images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/.DS_Store -------------------------------------------------------------------------------- /public/images/img_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_1.jpg -------------------------------------------------------------------------------- /public/images/img_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_2.jpg -------------------------------------------------------------------------------- /public/images/img_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_3.jpg -------------------------------------------------------------------------------- /public/images/img_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_4.jpg -------------------------------------------------------------------------------- /public/images/img_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_5.jpg -------------------------------------------------------------------------------- /public/images/img_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_6.jpg -------------------------------------------------------------------------------- /public/images/img_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/img_7.jpg -------------------------------------------------------------------------------- /public/images/person_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_1.jpg -------------------------------------------------------------------------------- /public/images/person_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_2.jpg -------------------------------------------------------------------------------- /public/images/person_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_3.jpg -------------------------------------------------------------------------------- /public/images/person_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_4.jpg -------------------------------------------------------------------------------- /public/images/person_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_5.jpg -------------------------------------------------------------------------------- /public/images/person_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/person_6.jpg -------------------------------------------------------------------------------- /public/images/hero_bg_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/hero_bg_1.jpg -------------------------------------------------------------------------------- /public/images/hero_bg_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/hero_bg_2.jpg -------------------------------------------------------------------------------- /public/images/hero_bg_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/hero_bg_3.jpg -------------------------------------------------------------------------------- /resources/views/vendor/mail/html/table.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{ Illuminate\Mail\Markdown::parse($slot) }} 3 |
4 | -------------------------------------------------------------------------------- /public/images/nature_small_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_1.jpg -------------------------------------------------------------------------------- /public/images/nature_small_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_2.jpg -------------------------------------------------------------------------------- /public/images/nature_small_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_3.jpg -------------------------------------------------------------------------------- /public/images/nature_small_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_4.jpg -------------------------------------------------------------------------------- /public/images/nature_small_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_5.jpg -------------------------------------------------------------------------------- /public/images/nature_small_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_6.jpg -------------------------------------------------------------------------------- /public/images/nature_small_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_7.jpg -------------------------------------------------------------------------------- /public/images/nature_small_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_8.jpg -------------------------------------------------------------------------------- /public/images/nature_small_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/nature_small_9.jpg -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /public/fonts/flaticon/font/Flaticon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/flaticon/font/Flaticon.eot -------------------------------------------------------------------------------- /public/fonts/flaticon/font/Flaticon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/flaticon/font/Flaticon.ttf -------------------------------------------------------------------------------- /public/fonts/icomoon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/icomoon/fonts/icomoon.eot -------------------------------------------------------------------------------- /public/fonts/icomoon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/icomoon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /public/fonts/icomoon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/icomoon/fonts/icomoon.woff -------------------------------------------------------------------------------- /public/fonts/flaticon/font/Flaticon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/flaticon/font/Flaticon.woff -------------------------------------------------------------------------------- /public/fonts/flaticon/license/license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/fonts/flaticon/license/license.pdf -------------------------------------------------------------------------------- /public/images/big-images/nature_big_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_1.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_2.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_3.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_4.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_5.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_6.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_7.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_8.jpg -------------------------------------------------------------------------------- /public/images/big-images/nature_big_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tawhidulIKhan/laravel-photogallery/HEAD/public/images/big-images/nature_big_9.jpg -------------------------------------------------------------------------------- /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/views/vendor/mail/html/header.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ $slot }} 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | .env 7 | .phpunit.result.cache 8 | Homestead.json 9 | Homestead.yaml 10 | npm-debug.log 11 | yarn-error.log 12 | -------------------------------------------------------------------------------- /public/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/backend/js/app.js": "/backend/js/app.js", 3 | "/js/app.js": "/js/app.js", 4 | "/css/app.css": "/css/app.css", 5 | "/backend/css/app.css": "/backend/css/app.css" 6 | } 7 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ Illuminate\Mail\Markdown::parse($slot) }} 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/Role.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ Illuminate\Mail\Markdown::parse($slot) }} 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/ContactInfo.php: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /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 | 10 | .navbar-laravel { 11 | background-color: #fff; 12 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); 13 | } 14 | -------------------------------------------------------------------------------- /database/seeds/AlbumTableSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /database/seeds/PhotoTableSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Service.php: -------------------------------------------------------------------------------- 1 | price); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /database/factories/AlbumFactory.php: -------------------------------------------------------------------------------- 1 | define(Album::class, function (Faker $faker) { 7 | 8 | $name = $faker->word; 9 | 10 | return [ 11 | "name"=> $faker->word, 12 | "slug" => str_slug($name), 13 | "banner" => $faker->imageUrl 14 | ]; 15 | }); 16 | -------------------------------------------------------------------------------- /resources/views/partials/alert.blade.php: -------------------------------------------------------------------------------- 1 | @if(session()->has('message')) 2 |
{{session()->get('message')}}
3 | @endif; 4 | 5 | @if($errors->any()) 6 |
7 | @foreach ($errors->all() as $error) 8 |
  • {{ $error }}
  • 9 | @endforeach 10 |
    11 | @endif 12 | -------------------------------------------------------------------------------- /resources/sass/backend/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 | 10 | // Dashboard 11 | @import "dashboard"; 12 | 13 | .navbar-laravel { 14 | background-color: #fff; 15 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); 16 | } 17 | -------------------------------------------------------------------------------- /app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Album.php: -------------------------------------------------------------------------------- 1 | hasMany(Photo::class); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/html/footer.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /database/factories/ContactinfoFactory.php: -------------------------------------------------------------------------------- 1 | define(ContactInfo::class, function (Faker $faker) { 7 | 8 | $title = $faker->sentence(3); 9 | 10 | return [ 11 | 'title' => $title, 12 | 'slug' => str_slug($title), 13 | 'description' => $faker->paragraph('50') 14 | ]; 15 | 16 | }); 17 | -------------------------------------------------------------------------------- /database/factories/TeamFactory.php: -------------------------------------------------------------------------------- 1 | define(Team::class, function (Faker $faker) { 7 | 8 | $title = $faker->sentence(3); 9 | return [ 10 | 'thumbnail' => $faker->imageUrl(400,300), 11 | 'name' => $title, 12 | 'slug' => str_slug($title), 13 | 'description' => $faker->paragraph(10) 14 | ]; 15 | }); 16 | -------------------------------------------------------------------------------- /resources/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | 2 | // Body 3 | $body-bg: #f8fafc; 4 | 5 | // Typography 6 | $font-family-sans-serif: "Nunito", sans-serif; 7 | $font-size-base: 0.9rem; 8 | $line-height-base: 1.6; 9 | 10 | // Colors 11 | $blue: #3490dc; 12 | $indigo: #6574cd; 13 | $purple: #9561e2; 14 | $pink: #f66D9b; 15 | $red: #e3342f; 16 | $orange: #f6993f; 17 | $yellow: #ffed4a; 18 | $green: #38c172; 19 | $teal: #4dc0b5; 20 | $cyan: #6cb2eb; 21 | -------------------------------------------------------------------------------- /resources/sass/backend/_variables.scss: -------------------------------------------------------------------------------- 1 | // Body 2 | $body-bg: #f8fafc; 3 | 4 | // Typography 5 | $font-family-sans-serif: "Nunito", sans-serif; 6 | $font-size-base: 0.9rem; 7 | $line-height-base: 1.6; 8 | 9 | // Colors 10 | $blue: #3490dc; 11 | $indigo: #6574cd; 12 | $purple: #9561e2; 13 | $pink: #f66d9b; 14 | $red: #e3342f; 15 | $orange: #f6993f; 16 | $yellow: #ffed4a; 17 | $green: #38c172; 18 | $teal: #4dc0b5; 19 | $cyan: #6cb2eb; 20 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /database/factories/ServiceFactory.php: -------------------------------------------------------------------------------- 1 | define(Service::class, function (Faker $faker) { 7 | 8 | $title = $faker->sentence(3); 9 | 10 | return [ 11 | 'title' => $title, 12 | 'slug' => str_slug($title), 13 | 'description' => $faker->paragraph(4), 14 | 'price' => $faker->randomDigit(30,200), 15 | 'thumbnail' => $faker->imageUrl 16 | ]; 17 | }); 18 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 |
    7 | {{ Illuminate\Mail\Markdown::parse($slot) }} 8 |
    11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/Photo.php: -------------------------------------------------------------------------------- 1 | belongsTo(Album::class); 20 | } 21 | 22 | 23 | public function user(){ 24 | return $this->belongsTo(User::class); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/html/promotion/button.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 |
    4 | 5 | 6 | 9 | 10 |
    7 | {{ $slot }} 8 |
    11 |
    14 | -------------------------------------------------------------------------------- /database/factories/PhotoFactory.php: -------------------------------------------------------------------------------- 1 | define(Photo::class, function (Faker $faker) { 9 | 10 | $title = $faker->sentence; 11 | 12 | return [ 13 | "title" => $title, 14 | "description" => $faker->paragraph(10), 15 | "image" => $faker->imageUrl, 16 | "slug"=>str_slug($title), 17 | "user_id" => User::all()->random(), 18 | "album_id" => Album::all()->random() 19 | ]; 20 | }); 21 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrustProxies.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 18 | return route('login'); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 16 | }); 17 | -------------------------------------------------------------------------------- /app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 17 | return $request->user(); 18 | }); 19 | -------------------------------------------------------------------------------- /app/Http/Controllers/HomeController.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 17 | } 18 | 19 | /** 20 | * Show the application dashboard. 21 | * 22 | * @return \Illuminate\Contracts\Support\Renderable 23 | */ 24 | public function index() 25 | { 26 | return view('backend.index'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 18 | })->describe('Display an inspiring quote'); 19 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/home'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Handle Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /resources/js/components/ExampleComponent.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require("laravel-mix"); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js("resources/js/app.js", "public/js") 15 | .sass("resources/sass/app.scss", "public/css") 16 | .sass("resources/sass/backend/app.scss", "public/backend/css") 17 | .js("resources/js/backend/app.js", "public/backend/js"); 18 | -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call(LaratrustSeeder::class); 19 | $this->call(AlbumTableSeeder::class); 20 | $this->call(PhotoTableSeeder::class); 21 | $this->call(contactinfoTableSeeder::class); 22 | $this->call(TeamSeeder::class); 23 | $this->call(SettingTableSeeder::class); 24 | factory(Service::class,3)->create(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /public/fonts/icomoon/Read Me.txt: -------------------------------------------------------------------------------- 1 | Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures. 2 | 3 | To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts 4 | 5 | You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects. 6 | 7 | You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection. 8 | -------------------------------------------------------------------------------- /app/Mail/ContactForm.php: -------------------------------------------------------------------------------- 1 | form = $data; 24 | } 25 | 26 | /** 27 | * Build the message. 28 | * 29 | * @return $this 30 | */ 31 | public function build() 32 | { 33 | return $this->markdown('email.contact',["form"=>$this->form]); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | config('app.url')]) 5 | {{ config('app.name') }} 6 | @endcomponent 7 | @endslot 8 | 9 | {{-- Body --}} 10 | {{ $slot }} 11 | 12 | {{-- Subcopy --}} 13 | @isset($subcopy) 14 | @slot('subcopy') 15 | @component('mail::subcopy') 16 | {{ $subcopy }} 17 | @endcomponent 18 | @endslot 19 | @endisset 20 | 21 | {{-- Footer --}} 22 | @slot('footer') 23 | @component('mail::footer') 24 | © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.') 25 | @endcomponent 26 | @endslot 27 | @endcomponent 28 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/markdown/message.blade.php: -------------------------------------------------------------------------------- 1 | @component('mail::layout') 2 | {{-- Header --}} 3 | @slot('header') 4 | @component('mail::header', ['url' => config('app.url')]) 5 | {{ config('app.name') }} 6 | @endcomponent 7 | @endslot 8 | 9 | {{-- Body --}} 10 | {{ $slot }} 11 | 12 | {{-- Subcopy --}} 13 | @isset($subcopy) 14 | @slot('subcopy') 15 | @component('mail::subcopy') 16 | {{ $subcopy }} 17 | @endcomponent 18 | @endslot 19 | @endisset 20 | 21 | {{-- Footer --}} 22 | @slot('footer') 23 | @component('mail::footer') 24 | © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.') 25 | @endcomponent 26 | @endslot 27 | @endcomponent 28 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://localhost 6 | 7 | LOG_CHANNEL=stack 8 | 9 | DB_CONNECTION=mysql 10 | DB_HOST=127.0.0.1 11 | DB_PORT=3306 12 | DB_DATABASE=homestead 13 | DB_USERNAME=homestead 14 | DB_PASSWORD=secret 15 | 16 | BROADCAST_DRIVER=log 17 | CACHE_DRIVER=file 18 | QUEUE_CONNECTION=sync 19 | SESSION_DRIVER=file 20 | SESSION_LIFETIME=120 21 | 22 | REDIS_HOST=127.0.0.1 23 | REDIS_PASSWORD=null 24 | REDIS_PORT=6379 25 | 26 | MAIL_DRIVER=smtp 27 | MAIL_HOST=smtp.mailtrap.io 28 | MAIL_PORT=2525 29 | MAIL_USERNAME=null 30 | MAIL_PASSWORD=null 31 | MAIL_ENCRYPTION=null 32 | 33 | PUSHER_APP_ID= 34 | PUSHER_APP_KEY= 35 | PUSHER_APP_SECRET= 36 | PUSHER_APP_CLUSTER=mt1 37 | 38 | MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 39 | MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 40 | -------------------------------------------------------------------------------- /database/migrations/2019_01_24_061628_add_slug_to_settings_table.php: -------------------------------------------------------------------------------- 1 | string('slug'); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('settings', function (Blueprint $table) { 29 | $table->dropColumn('slug'); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /resources/views/vendor/mail/html/button.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 |
    4 | 5 | 6 | 15 | 16 |
    7 | 8 | 9 | 12 | 13 |
    10 | {{ $slot }} 11 |
    14 |
    17 |
    20 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | hasMany(Photo::class); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Providers/EventServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 19 | SendEmailVerificationNotification::class, 20 | ], 21 | ]; 22 | 23 | /** 24 | * Register any events for your application. 25 | * 26 | * @return void 27 | */ 28 | public function boot() 29 | { 30 | parent::boot(); 31 | 32 | // 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/seeds/SettingTableSeeder.php: -------------------------------------------------------------------------------- 1 | 'site_title', 17 | 'display_name' => 'Site Title', 18 | 'slug' => str_slug('Site Title'), 19 | 'value' => 'PhotoGallery', 20 | ]); 21 | 22 | Setting::create([ 23 | 'key' => 'site_copyright', 24 | 'display_name' => 'Copyright Text', 25 | 'slug' => str_slug('Copyright Text'), 26 | 'value' => 'Backend By @ 27 | Tawhidul Islam Khan', 28 | ]); 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /public/fonts/flaticon/backup.txt: -------------------------------------------------------------------------------- 1 | eyIxIjp7IklEIjoxLCJuYW1lIjoiQ2FyaWJiZWFuIiwiYm9va21hcmtfaWQiOiIzaHJpcnhjcnVtdDAwMDAwIiwiY3JlYXRlZCI6bnVsbCwidXBkYXRlZCI6MTU0NDE0OTA3OCwiYWN0aXZlIjoxLCJzb3VyY2UiOiJsb2NhbCIsIm9yZGVyIjowLCJjb2xvciI6IjAwMDAwMCIsInN0YXR1cyI6MX0sIjNocmlyeGNydW10MDAwMDAiOlt7ImlkIjoyOTA1NTQsInRlYW0iOjAsIm5hbWUiOiJwaWN0dXJlIiwiY29sb3IiOiIjMDAwMDAwIiwicHJlbWl1bSI6MCwic29ydCI6Mn0seyJpZCI6MTMxMDg2LCJ0ZWFtIjowLCJuYW1lIjoic2hlZXAiLCJjb2xvciI6IiMwMDAwMDAiLCJwcmVtaXVtIjowLCJzb3J0IjozfSx7ImlkIjoxMjA5Mjg4LCJ0ZWFtIjowLCJuYW1lIjoiZnJhbWUiLCJjb2xvciI6IiMwMDAwMDAiLCJwcmVtaXVtIjowLCJzb3J0Ijo0fSx7ImlkIjoxMDg2MjIzLCJ0ZWFtIjowLCJuYW1lIjoiZWlmZmVsLXRvd2VyIiwiY29sb3IiOiIjMDAwMDAwIiwicHJlbWl1bSI6MCwic29ydCI6NX0seyJpZCI6MjYwOTU1LCJ0ZWFtIjowLCJuYW1lIjoidmlkZW8tcGxheSIsImNvbG9yIjoiIzAwMDAwMCIsInByZW1pdW0iOjAsInNvcnQiOjZ9LHsiaWQiOjg4NDUyOSwidGVhbSI6MCwibmFtZSI6ImNhbWVyYSIsImNvbG9yIjoiIzAwMDAwMCIsInByZW1pdW0iOjAsInNvcnQiOjF9XX0= -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(App\User::class, function (Faker $faker) { 17 | return [ 18 | 'name' => $faker->name, 19 | 'email' => $faker->unique()->safeEmail, 20 | 'email_verified_at' => now(), 21 | 'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret 22 | 'remember_token' => str_random(10), 23 | ]; 24 | }); 25 | -------------------------------------------------------------------------------- /database/migrations/2019_01_11_082631_add_email_varification_token_to_users.php: -------------------------------------------------------------------------------- 1 | string('email_verification_token',120)->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('users', function (Blueprint $table) { 29 | $table->string('email_verification_token',120); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_12_21_153932_create_albums_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name',128); 19 | $table->string('slug',128); 20 | $table->string('banner',128); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('albums'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2019_01_24_060147_create_settings_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('key')->unique(); 19 | $table->string('display_name'); 20 | $table->string('value'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('settings'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/seeds/contactinfoTableSeeder.php: -------------------------------------------------------------------------------- 1 | 'Phone', 18 | 'slug' => 'phone', 19 | 'description' => $faker->phoneNumber 20 | ]); 21 | 22 | ContactInfo::create([ 23 | 'title' => 'Email', 24 | 'slug' => 'email', 25 | 'description' => $faker->email 26 | ]); 27 | 28 | ContactInfo::create([ 29 | 'title' => 'Address', 30 | 'slug' => 'address', 31 | 'description' => $faker->address 32 | ]); 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2019_01_11_135547_create_contact_infos_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('title',120); 19 | $table->string('slug',120); 20 | $table->text('description'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('contact_infos'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2019_01_10_152707_create_teams_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('thumbnail',128); 19 | $table->string('name',128); 20 | $table->string('slug',128); 21 | $table->text('description')->nullable(); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('teams'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | /** 2 | * First we will load all of this project's JavaScript dependencies which 3 | * includes Vue and other libraries. It is a great starting point when 4 | * building robust, powerful web applications using Vue and Laravel. 5 | */ 6 | 7 | require("./bootstrap"); 8 | 9 | // Thumbnail Functionality 10 | 11 | let thumbUrl = document.querySelector("#thumbnail_url"); 12 | let thumb = document.querySelector("#thumbnail"); 13 | let form = document.querySelector("form"); 14 | 15 | if (thumbUrl) { 16 | if (thumbUrl.value) { 17 | thumb.setAttribute("disabled", true); 18 | } 19 | 20 | thumbUrl.addEventListener("focus", function() { 21 | thumb.setAttribute("disabled", true); 22 | }); 23 | } 24 | 25 | if (thumbUrl) { 26 | thumbUrl.addEventListener( 27 | "blur", 28 | function() { 29 | if (this.value == "") { 30 | thumb.disabled = false; 31 | } 32 | }, 33 | true 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2019_01_11_051806_create_services_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('title',128); 19 | $table->string('slug',128); 20 | $table->text('description'); 21 | $table->string('price',128); 22 | $table->string('thumbnail'); 23 | $table->timestamps(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('services'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /resources/js/backend/app.js: -------------------------------------------------------------------------------- 1 | /** 2 | * First we will load all of this project's JavaScript dependencies which 3 | * includes Vue and other libraries. It is a great starting point when 4 | * building robust, powerful web applications using Vue and Laravel. 5 | */ 6 | 7 | require("./bootstrap"); 8 | 9 | // Thumbnail Functionality 10 | 11 | let thumbUrl = document.querySelector("#thumbnail_url"); 12 | let thumb = document.querySelector("#thumbnail"); 13 | let form = document.querySelector("form"); 14 | 15 | if (thumbUrl) { 16 | if (thumbUrl.value) { 17 | thumb.setAttribute("disabled", true); 18 | } 19 | 20 | thumbUrl.addEventListener("focus", function() { 21 | thumb.setAttribute("disabled", true); 22 | }); 23 | } 24 | 25 | if (thumbUrl) { 26 | thumbUrl.addEventListener( 27 | "blur", 28 | function() { 29 | if (this.value == "") { 30 | thumb.disabled = false; 31 | } 32 | }, 33 | true 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name'); 19 | $table->string('email')->unique(); 20 | $table->timestamp('email_verified_at')->nullable(); 21 | $table->string('password'); 22 | $table->rememberToken(); 23 | $table->timestamps(); 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 | -------------------------------------------------------------------------------- /public/css/owl.theme.default.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.2.1 3 | * Copyright 2013-2017 David Deutsch 4 | * Licensed under () 5 | */ 6 | .owl-theme .owl-dots, 7 | .owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent} 8 | .owl-theme .owl-nav{margin-top:10px} 9 | .owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px;position: absolute;} 10 | .owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none} 11 | .owl-theme .owl-nav .disabled{opacity:.5;cursor:default} 12 | .owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px} 13 | .owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1} 14 | .owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px} 15 | .owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /resources/views/auth/verify.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
    5 |
    6 |
    7 |
    8 |
    {{ __('Verify Your Email Address') }}
    9 | 10 |
    11 | @if (session('resent')) 12 | 15 | @endif 16 | 17 | {{ __('Before proceeding, please check your email for a verification link.') }} 18 | {{ __('If you did not receive the email') }}, {{ __('click here to request another') }}. 19 |
    20 |
    21 |
    22 |
    23 |
    24 | @endsection 25 | -------------------------------------------------------------------------------- /resources/views/frontend/auth/password-reset-token.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 | 8 |
    9 |
    10 | 11 | {{ cms_notification($errors) }} 12 | 13 |

    Reset Your Password

    14 | 15 | 16 |
    17 | 18 | @csrf 19 | 20 | 21 |
    22 | 23 | 25 |
    26 | 27 | 28 | 29 | 30 |
    31 |
    32 |
    33 |
    34 | @endsection 35 | -------------------------------------------------------------------------------- /database/migrations/2018_12_22_071952_create_photos_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('title',128); 19 | $table->text('description'); 20 | $table->string('image',128); 21 | $table->string('slug',128); 22 | $table->unsignedInteger('user_id'); 23 | $table->unsignedInteger('album_id'); 24 | $table->timestamps(); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::dropIfExists('photos'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /public/fonts/icomoon/demo-files/demo.js: -------------------------------------------------------------------------------- 1 | if (!('boxShadow' in document.body.style)) { 2 | document.body.setAttribute('class', 'noBoxShadow'); 3 | } 4 | 5 | document.body.addEventListener("click", function(e) { 6 | var target = e.target; 7 | if (target.tagName === "INPUT" && 8 | target.getAttribute('class').indexOf('liga') === -1) { 9 | target.select(); 10 | } 11 | }); 12 | 13 | (function() { 14 | var fontSize = document.getElementById('fontSize'), 15 | testDrive = document.getElementById('testDrive'), 16 | testText = document.getElementById('testText'); 17 | function updateTest() { 18 | testDrive.innerHTML = testText.value || String.fromCharCode(160); 19 | if (window.icomoonLiga) { 20 | window.icomoonLiga(testDrive); 21 | } 22 | } 23 | function updateSize() { 24 | testDrive.style.fontSize = fontSize.value + 'px'; 25 | } 26 | fontSize.addEventListener('change', updateSize, false); 27 | testText.addEventListener('input', updateTest, false); 28 | testText.addEventListener('change', updateTest, false); 29 | updateSize(); 30 | }()); 31 | -------------------------------------------------------------------------------- /resources/views/album/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 |
    7 |

    Create album

    8 | 9 | @if ($errors->any()) 10 |
    11 | @foreach ($errors->all() as $error) 12 |
  • {{ $error }}
  • 13 | @endforeach 14 |
    15 | 16 | @endif 17 |
    18 | @csrf 19 | 20 |
    21 | 22 | 23 |
    24 | 25 |
    26 | 27 | 28 | 29 | 30 |
    31 | 32 | 33 |
    34 | 35 |
    36 | 37 |
    38 | 39 |
    40 | @endsection 41 | -------------------------------------------------------------------------------- /resources/views/backend/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Photon — Colorlib Website Template 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
    15 | 16 | 17 | @include('backend.layouts.partials.header') 18 | 19 | @include('backend.layouts.partials.sidebar') 20 | 21 |
    22 | 23 |
    24 | 25 | 26 | 27 | @yield('content') 28 | 29 | 30 | 31 | 32 |
    33 | 34 | 35 |
    36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /resources/views/frontend/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 |
    6 | 32 |
    33 | @endsection -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => env( 32 | 'VIEW_COMPILED_PATH', 33 | realpath(storage_path('framework/views')) 34 | ), 35 | 36 | ]; 37 | -------------------------------------------------------------------------------- /config/laratrust_seeder.php: -------------------------------------------------------------------------------- 1 | [ 5 | 'superadministrator' => [ 6 | 'users' => 'c,r,u,d', 7 | 'albums' => 'c,r,u,d', 8 | 'photos' => 'c,r,u,d', 9 | 'teams' => 'c,r,u,d', 10 | 'services' => 'c,r,u,d', 11 | 'contactinfos' => 'c,r,u,d', 12 | 'acl' => 'c,r,u,d', 13 | 'profile' => 'r,u' 14 | ], 15 | 'administrator' => [ 16 | 'users' => 'c,r,u,d', 17 | 'albums' => 'c,r,u,d', 18 | 'photos' => 'c,r,u,d', 19 | 'teams' => 'c,r,u,d', 20 | 'services' => 'c,r,u,d', 21 | 'contactinfos' => 'c,r,u,d', 22 | 'profile' => 'r,u' 23 | ], 24 | 'contributor' => [ 25 | 'profile' => 'r,u', 26 | 'albums' => 'c,r,u,d', 27 | 'photos' => 'c,r,u,d', 28 | ], 29 | ], 30 | 'permission_structure' => [ 31 | 'cru_user' => [ 32 | 'profile' => 'c,r,u', 33 | ], 34 | ], 35 | 'permissions_map' => [ 36 | 'c' => 'create', 37 | 'r' => 'read', 38 | 'u' => 'update', 39 | 'd' => 'delete' 40 | ] 41 | ]; 42 | -------------------------------------------------------------------------------- /resources/views/frontend/auth/mail-verify-again.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 |
    8 | 9 |
    10 | {{ photon_notification($errors) }} 11 |
    12 |
    13 |

    Your email is not verified

    14 |

    15 |

    16 | @csrf 17 | 18 | 20 |
    21 |

    22 |
    23 |
    24 |
    25 |
    26 | 27 |
    28 | 29 | 30 | @endsection 31 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/Unit 14 | 15 | 16 | 17 | ./tests/Feature 18 | 19 | 20 | 21 | 22 | ./app 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /resources/views/album/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 |
    7 |

    Create album

    8 | 9 | @if ($errors->any()) 10 |
    11 | @foreach ($errors->all() as $error) 12 |
  • {{ $error }}
  • 13 | @endforeach 14 |
    15 | 16 | @endif 17 |
    18 | @csrf 19 | @method('PUT') 20 |
    21 | 22 | 23 |
    24 | 25 | 26 | {{--
    27 | 28 | 29 | 30 | 31 | 32 | 33 |
    34 | --}} 35 |
    36 | 37 |
    38 | 39 |
    40 | 41 |
    42 | @endsection 43 | -------------------------------------------------------------------------------- /resources/views/frontend/gallery.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 |
    5 |
    6 | 7 |
    8 | 9 |
    10 |
    11 |
    12 |

    {{ $title }} Gallery

    13 |
    14 |
    15 |
    16 | 17 |
    18 |
    19 | @if (count($photos) > 0) 20 | @foreach ($photos as $photo) 21 | 22 |
    26 | 27 | 28 | IMage 29 | 30 |
    31 | 32 | @endforeach 33 | @endif 34 |
    35 |
    36 |
    37 | @endsection -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | $faker->imageUrl(400,300,'people'), 18 | 'name' => 'John Doe', 19 | 'slug' => str_slug('John Doe'), 20 | 'description' => 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Incidunt alias animi cupiditate.' 21 | ]); 22 | 23 | Team::create([ 24 | 'thumbnail' => $faker->imageUrl(400,300,'people'), 25 | 'name' => 'John Rosella', 26 | 'slug' => str_slug('John Rosella'), 27 | 'description' => 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Incidunt alias animi cupiditate.' 28 | ]); 29 | 30 | Team::create([ 31 | 'thumbnail' => $faker->imageUrl(400,300,'people'), 32 | 'name' => 'John Foo', 33 | 'slug' => str_slug('John Foo'), 34 | 'description' => 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Incidunt alias animi cupiditate.' 35 | ]); 36 | // 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /resources/views/backend/role/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 8 | @endbreadcrumb 9 | 10 | 11 |
    12 |

    All roles

    13 | 14 | {{ photon_notification($errors)}} 15 | 16 | @if (count($roles) > 0 ) 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | @foreach ($roles as $role) 27 | 28 | 31 | 32 | 35 | 36 | 39 | 40 | 43 | 44 | 45 | @endforeach 46 |
    IdNameDescriptiondetails
    29 | {{ $role->id }} 30 | 33 | {{ $role->display_name }} 34 | 37 | {{ $role->description }} 38 | 41 | Details 42 |
    47 | @else 48 | 49 |

    No role found yet

    50 | 51 | @endif 52 |
    53 | 54 | @endsection 55 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npm run development", 5 | "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 6 | "watch": "npm run development -- --watch", 7 | "watch-poll": "npm run watch -- --watch-poll", 8 | "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", 9 | "prod": "npm run production", 10 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" 11 | }, 12 | "devDependencies": { 13 | "axios": "^0.18", 14 | "bootstrap": "^4.0.0", 15 | "cross-env": "^5.1", 16 | "jquery": "^3.2", 17 | "laravel-mix": "^4.0.7", 18 | "lodash": "^4.17.5", 19 | "popper.js": "^1.12", 20 | "resolve-url-loader": "^2.3.1", 21 | "sass": "^1.15.2", 22 | "sass-loader": "^7.1.0", 23 | "vue": "^2.5.17", 24 | "vue-template-compiler": "^2.5.21" 25 | }, 26 | "dependencies": { 27 | "@fortawesome/fontawesome-free": "^5.6.3" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /resources/views/backend/contactinfo/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 8 | @endbreadcrumb 9 | 10 |
    11 |

    All infos

    12 | {{ photon_notification($errors)}} 13 | 14 | @if (count($infos) > 0 ) 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | @foreach ($infos as $info) 24 | 25 | 28 | 29 | 32 | 33 | 36 | 37 | 40 | 41 | 42 | @endforeach 43 |
    IdTitleDescriptiondetails
    26 | {{ $info->id }} 27 | 30 | {{ $info->title }} 31 | 34 | {{ $info->description }} 35 | 38 | Details 39 |
    44 | @else 45 | 46 |

    No album found yet

    47 | 48 | @endif 49 | 50 |
    51 | @endsection 52 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 21 | ], 22 | 23 | 'ses' => [ 24 | 'key' => env('SES_KEY'), 25 | 'secret' => env('SES_SECRET'), 26 | 'region' => env('SES_REGION', 'us-east-1'), 27 | ], 28 | 29 | 'sparkpost' => [ 30 | 'secret' => env('SPARKPOST_SECRET'), 31 | ], 32 | 33 | 'stripe' => [ 34 | 'model' => App\User::class, 35 | 'key' => env('STRIPE_KEY'), 36 | 'secret' => env('STRIPE_SECRET'), 37 | 'webhook' => [ 38 | 'secret' => env('STRIPE_WEBHOOK_SECRET'), 39 | 'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300), 40 | ], 41 | ], 42 | 43 | ]; 44 | -------------------------------------------------------------------------------- /resources/views/backend/album/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 8 | @endbreadcrumb 9 | 10 | 11 |
    12 |

    All Albums

    13 | 14 | 15 | {{ photon_notification($errors)}} 16 | 17 | @if (count($albums) > 0 ) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | @foreach ($albums as $album) 28 | 29 | 32 | 35 | 36 | 39 | 40 | 43 | 44 | 45 | @endforeach 46 |
    IdBannerNamedetails
    30 | {{ $album->id }} 31 | 33 | 34 | 37 | {{ $album->name }} 38 | 41 | Details 42 |
    47 | @else 48 | 49 |

    No album found yet

    50 | 51 | @endif 52 |
    53 | 54 | @endsection 55 | -------------------------------------------------------------------------------- /resources/views/backend/permission/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 8 | @endbreadcrumb 9 | 10 | 11 |
    12 |

    All Permissions

    13 | 14 | 15 | {{ photon_notification($errors)}} 16 | 17 | @if (count($permissions) > 0 ) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | @foreach ($permissions as $permission) 28 | 29 | 32 | 33 | 36 | 37 | 40 | 41 | 44 | 45 | 46 | @endforeach 47 |
    IdNameDescriptiondetails
    30 | {{ $permission->id }} 31 | 34 | {{ $permission->display_name }} 35 | 38 | {{ $permission->description }} 39 | 42 | Details 43 |
    48 | @else 49 | 50 |

    No permission found yet

    51 | 52 | @endif 53 |
    54 | 55 | @endsection 56 | -------------------------------------------------------------------------------- /resources/views/backend/service/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 7 | @endbreadcrumb 8 | 9 |
    10 |

    All Services

    11 | 12 | {{ photon_notification($errors) }} 13 | 14 | @if (count($ourservices) > 0 ) 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | @foreach ($ourservices as $service) 24 | 25 | 28 | 31 | 32 | 35 | 36 | 39 | 40 | 41 | @endforeach 42 |
    IdImageTitledetails
    26 | {{ $service->id }} 27 | 29 | 30 | 33 | {{ $service->title }} 34 | 37 | Details 38 |
    43 | @else 44 | 45 |

    No photo found yet

    46 | 47 | @endif 48 | 49 |
    50 | @endsection 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Laravel Photo Gallery 2 | 3 | [Live Demo](https://salty-plateau-43077.herokuapp.com/) 4 | 5 | **Laravel Photo Gallery** is a photo uploading application. 6 | Colorlib Template Photon used as Frontend HTML Template 7 | 8 | ### Installation 9 | 10 | - `git clone https://github.com/tawhid-coder/laravel-photogallery.git photogallery` 11 | - `cd photogallery` 12 | - `cp .env.example .env` 13 | - `composer install` 14 | - `php artisan key:generate` 15 | - Create a database and inform _.env_ 16 | - Set APP_URL , APP_NAME to \*.env\_ 17 | - `php artisan migrate --seed` to create and populate tables 18 | - Inform _config/mail.php_ for email sends 19 | - `php artisan serve` to start the app on http://localhost:8000/ 20 | 21 | ### Features 22 | 23 | - Home page 24 | - About Page 25 | - Service Page 26 | - Contact Page 27 | - Authentication (registration, login, logout, password reset, mail confirmation) 28 | - Users roles : roles,permission (Laratrust Package) 29 | - Album Create Option 30 | - Photo Upload Option 31 | - Admin dashboard 32 | 33 | ### Packages included 34 | 35 | - laratrust 36 | 37 | ### Tricks 38 | 39 | To test application the database is seeding with users : 40 | 41 | - Administrator : email = superadministrator@app.com, password = password 42 | - Redactor : email = administrator@app.com, password = password 43 | - Contributor : email = contributor@app.com, password = password 44 | -------------------------------------------------------------------------------- /public/fonts/flaticon/font/flaticon.css: -------------------------------------------------------------------------------- 1 | /* 2 | Flaticon icon font: Flaticon 3 | Creation date: 07/12/2018 03:18 4 | */ 5 | 6 | @font-face { 7 | font-family: "Flaticon"; 8 | src: url("./Flaticon.eot"); 9 | src: url("./Flaticon.eot?#iefix") format("embedded-opentype"), 10 | url("./Flaticon.woff") format("woff"), 11 | url("./Flaticon.ttf") format("truetype"), 12 | url("./Flaticon.svg#Flaticon") format("svg"); 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | @media screen and (-webkit-min-device-pixel-ratio:0) { 18 | @font-face { 19 | font-family: "Flaticon"; 20 | src: url("./Flaticon.svg#Flaticon") format("svg"); 21 | } 22 | } 23 | 24 | [class^="flaticon-"]:before, [class*=" flaticon-"]:before, 25 | [class^="flaticon-"]:after, [class*=" flaticon-"]:after { 26 | font-family: Flaticon; 27 | 28 | font-style: normal; 29 | font-weight: normal; 30 | font-variant: normal; 31 | text-transform: none; 32 | line-height: 1; 33 | 34 | /* Better Font Rendering =========== */ 35 | -webkit-font-smoothing: antialiased; 36 | -moz-osx-font-smoothing: grayscale; 37 | } 38 | 39 | .flaticon-camera:before { content: "\f100"; } 40 | .flaticon-picture:before { content: "\f101"; } 41 | .flaticon-sheep:before { content: "\f102"; } 42 | .flaticon-frame:before { content: "\f103"; } 43 | .flaticon-eiffel-tower:before { content: "\f104"; } 44 | .flaticon-video-play:before { content: "\f105"; } -------------------------------------------------------------------------------- /resources/views/backend/photo/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | @breadcrumb() 5 | 6 | @endbreadcrumb 7 | 8 | 9 |
    10 |

    All Photos

    11 | {{ photon_notification($errors)}} 12 | 13 | @if (count($photos) > 0 ) 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | @foreach ($photos as $photo) 23 | 24 | 27 | 30 | 31 | 34 | 35 | 38 | 39 | 40 | @endforeach 41 |
    IdImageTitledetails
    25 | {{ $photo->id }} 26 | 28 | 29 | 32 | {{ $photo->title }} 33 | 36 | Details 37 |
    42 | 43 | {{ $photos->links()}} 44 | @else 45 | 46 |

    No photo found yet

    47 | 48 | @endif 49 | 50 |
    51 | @endsection 52 | -------------------------------------------------------------------------------- /resources/views/backend/team/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 7 | @endbreadcrumb 8 | 9 | 10 | 11 |
    12 |

    All Teams

    13 | {{ photon_notification($errors)}} 14 | 15 | @if (count($teams) > 0 ) 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | @foreach ($teams as $team) 26 | 27 | 30 | 33 | 34 | 37 | 38 | 41 | 42 | 45 | 46 | 47 | @endforeach 48 |
    IdThumbnailNameDescriptiondetails
    28 | {{ $team->id }} 29 | 31 | 32 | 35 | {{ $team->name }} 36 | 39 | {{ $team->description }} 40 | 43 | Details 44 |
    49 | @else 50 | 51 |

    No album found yet

    52 | 53 | @endif 54 | 55 |
    56 | @endsection 57 | -------------------------------------------------------------------------------- /resources/views/album/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 |
    7 |

    Create album

    8 | 9 | @if ($errors->any()) 10 |
    11 | @foreach ($errors->all() as $error) 12 |
  • {{ $error }}
  • 13 | @endforeach 14 |
    15 | 16 | @endif 17 | 18 | @if (session('status')) 19 |
    20 | {{ session('status') }} 21 |
    22 | 23 | @endif 24 | @if (count($albums) > 0 ) 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | @foreach ($albums as $album) 34 | 35 | 38 | 39 | 42 | 43 | 46 | 49 | 50 | 51 | @endforeach 52 |
    IdNameBannerdetails
    36 | {{ $album->id }} 37 | 40 | {{ $album->name }} 41 | 44 | 45 | 47 | Details 48 |
    53 | @else 54 | 55 |

    No album found yet

    56 | 57 | @endif 58 | 59 |
    60 | @endsection 61 | -------------------------------------------------------------------------------- /resources/views/backend/album/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 | 15 | 16 |
    17 | @csrf 18 | 19 |
    20 | {{ photon_notification($errors)}} 21 |
    22 |

    Create album

    23 | 24 |
    25 | 26 | 27 |
    28 | 29 |
    30 |
    31 |
    32 |
    33 | 34 |
    35 | 36 |
    37 | 38 | 39 | 40 | 41 |
    42 | 43 |
    44 | 45 | 46 | 47 | 48 |
    49 | 50 |
    51 | @endsection 52 | -------------------------------------------------------------------------------- /app/Notifications/PasswordResetNotify.php: -------------------------------------------------------------------------------- 1 | token = $token; 24 | } 25 | 26 | /** 27 | * Get the notification's delivery channels. 28 | * 29 | * @param mixed $notifiable 30 | * @return array 31 | */ 32 | public function via($notifiable) 33 | { 34 | return ['mail']; 35 | } 36 | 37 | /** 38 | * Get the mail representation of the notification. 39 | * 40 | * @param mixed $notifiable 41 | * @return \Illuminate\Notifications\Messages\MailMessage 42 | */ 43 | public function toMail($notifiable) 44 | { 45 | return (new MailMessage) 46 | ->line('To Reset your apssword click below link') 47 | ->action('Notification Action', route('passwordReset',$this->token)) 48 | ->line('Thank you for using our application!'); 49 | } 50 | 51 | /** 52 | * Get the array representation of the notification. 53 | * 54 | * @param mixed $notifiable 55 | * @return array 56 | */ 57 | public function toArray($notifiable) 58 | { 59 | return [ 60 | // 61 | ]; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /public/fonts/flaticon/font/_flaticon.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Flaticon icon font: Flaticon 3 | Creation date: 07/12/2018 03:18 4 | */ 5 | 6 | @font-face { 7 | font-family: "Flaticon"; 8 | src: url("./Flaticon.eot"); 9 | src: url("./Flaticon.eot?#iefix") format("embedded-opentype"), 10 | url("./Flaticon.woff") format("woff"), 11 | url("./Flaticon.ttf") format("truetype"), 12 | url("./Flaticon.svg#Flaticon") format("svg"); 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | @media screen and (-webkit-min-device-pixel-ratio:0) { 18 | @font-face { 19 | font-family: "Flaticon"; 20 | src: url("./Flaticon.svg#Flaticon") format("svg"); 21 | } 22 | } 23 | 24 | .fi:before{ 25 | display: inline-block; 26 | font-family: "Flaticon"; 27 | font-style: normal; 28 | font-weight: normal; 29 | font-variant: normal; 30 | line-height: 1; 31 | text-decoration: inherit; 32 | text-rendering: optimizeLegibility; 33 | text-transform: none; 34 | -moz-osx-font-smoothing: grayscale; 35 | -webkit-font-smoothing: antialiased; 36 | font-smoothing: antialiased; 37 | } 38 | 39 | .flaticon-camera:before { content: "\f100"; } 40 | .flaticon-picture:before { content: "\f101"; } 41 | .flaticon-sheep:before { content: "\f102"; } 42 | .flaticon-frame:before { content: "\f103"; } 43 | .flaticon-eiffel-tower:before { content: "\f104"; } 44 | .flaticon-video-play:before { content: "\f105"; } 45 | 46 | $font-Flaticon-camera: "\f100"; 47 | $font-Flaticon-picture: "\f101"; 48 | $font-Flaticon-sheep: "\f102"; 49 | $font-Flaticon-frame: "\f103"; 50 | $font-Flaticon-eiffel-tower: "\f104"; 51 | $font-Flaticon-video-play: "\f105"; -------------------------------------------------------------------------------- /resources/views/backend/permission/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 | 15 | 16 |
    17 | @csrf 18 | 19 |
    20 | {{ photon_notification($errors)}} 21 |
    22 |

    Create permission

    23 | 24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 | 33 |
    34 | 35 | 36 |
    37 | 38 |
    39 |
    40 |
    41 |
    42 | 43 |
    44 | 45 |
    46 | 47 | 48 | 49 | 50 |
    51 | 52 | 53 | @endsection 54 | -------------------------------------------------------------------------------- /resources/views/frontend/auth/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 | 8 |
    9 |
    10 | 11 | {{ photon_notification($errors) }} 12 | 13 |

    Login

    14 | 15 | 16 |
    17 | 18 | @csrf 19 | 20 | 21 |
    22 | 23 | 25 |
    26 | 27 |
    28 | 29 | 31 |
    32 | 33 | 34 |
    35 | 38 |
    39 | 40 | 41 | 42 | forgot your password? 43 |
    44 |
    45 |
    46 |
    47 | @endsection 48 | -------------------------------------------------------------------------------- /resources/views/backend/album/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | 16 |

    Album Details

    17 | 18 | {{ photon_notification($errors) }} 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 61 | 62 | 63 | 64 | 65 |
    Id 24 | {{ $album->id }} 25 |
    Name 33 | {{ $album->name }} 34 |
    Banner 42 | 43 |
    Actions 52 | 53 |
    54 | @csrf 55 | @method('DELETE') 56 | 57 |
    58 | Edit 59 | 60 |
    66 | 67 |
    68 | @endsection 69 | -------------------------------------------------------------------------------- /resources/views/backend/contactinfo/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 | 14 | 15 | 16 |
    17 | @csrf 18 | 19 |
    20 | 21 | 22 |
    23 | 24 |

    Create Contact Info

    25 | 26 | {{ photon_notification($errors)}} 27 | 28 |
    29 | 30 | 31 |
    32 | 33 |
    34 | 35 | 36 |
    37 | 38 | 39 |
    40 |
    41 |
    42 | 43 |
    44 | 45 |
    46 | 47 | 48 |
    49 | 50 | 51 | @endsection 52 | -------------------------------------------------------------------------------- /resources/views/frontend/service.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 |
    6 |
    7 | 8 |
    9 |
    10 |
    11 |
    12 |

    Our Services

    13 |
    14 |
    15 |
    16 | 17 | @if (count($ourservices) > 0) 18 | @foreach ($ourservices as $ourservice) 19 |
    20 |
    21 | 22 | 23 | 24 |

    {{$ourservice->title }}

    25 |

    {{ 26 | $ourservice->description 27 | }}

    28 |

    29 | {{ $ourservice->price()}}

    30 |
    31 |
    32 | 33 | @endforeach 34 | @endif 35 | 36 | 37 | 38 |
    39 |
    40 |
    41 |
    42 |
    43 | 44 | 45 | @endsection -------------------------------------------------------------------------------- /app/Notifications/VerifyMail.php: -------------------------------------------------------------------------------- 1 | user = $user; 23 | } 24 | 25 | /** 26 | * Get the notification's delivery channels. 27 | * 28 | * @param mixed $notifiable 29 | * @return array 30 | */ 31 | public function via($notifiable) 32 | { 33 | return ['mail']; 34 | } 35 | 36 | /** 37 | * Get the mail representation of the notification. 38 | * 39 | * @param mixed $notifiable 40 | * @return \Illuminate\Notifications\Messages\MailMessage 41 | */ 42 | public function toMail($notifiable) 43 | { 44 | return (new MailMessage) 45 | ->greeting(sprintf('Hi , %s',$this->user->firstname)) 46 | ->line('Your registration have been successfull , now verify your account from below link.') 47 | ->action('Verify Now', url(route('verify',$this->user->email_verification_token))) 48 | ->line('Thanks for using our CMS App!'); 49 | } 50 | 51 | /** 52 | * Get the array representation of the notification. 53 | * 54 | * @param mixed $notifiable 55 | * @return array 56 | */ 57 | public function toArray($notifiable) 58 | { 59 | return [ 60 | // 61 | ]; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /resources/views/frontend/auth/password-reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 | 8 |
    9 |
    10 | 11 | {{ cms_notification($errors) }} 12 | 13 |

    Reset Your Password

    14 | 15 | 16 |
    17 | 18 | @csrf 19 | 20 | 21 |
    22 | 23 | 25 |
    26 | 27 |
    28 | 29 | 31 |
    32 | 33 |
    34 | 35 | 37 |
    38 | 39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | @endsection 46 | -------------------------------------------------------------------------------- /config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 1024, 48 | 'threads' => 2, 49 | 'time' => 2, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/views/album/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 |
    7 |

    Create album

    8 | 9 | @if ($errors->any()) 10 |
    11 | @foreach ($errors->all() as $error) 12 |
  • {{ $error }}
  • 13 | @endforeach 14 |
    15 | 16 | @endif 17 | 18 | @if (session('status')) 19 |
    20 | {{ session('status') }} 21 |
    22 | 23 | @endif 24 | 25 | 26 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 66 | 67 | 68 | 69 | 70 |
    Id 29 | {{ $album->id }} 30 |
    Name 38 | {{ $album->name }} 39 |
    Banner 47 | 48 |
    Actions 57 | 58 |
    59 | @csrf 60 | @method('DELETE') 61 | 62 |
    63 | Edit 64 | 65 |
    71 | 72 |
    73 | @endsection 74 | -------------------------------------------------------------------------------- /resources/views/backend/contactinfo/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 |

    Details Contact Info

    15 | 16 | {{ photon_notification($errors) }} 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 62 | 63 | 64 | 65 | 66 |
    Id 23 | {{ $contactInfo->id }} 24 |
    Title 32 | {{ $contactInfo->title }} 33 |
    Description 43 |

    {{ $contactInfo->description }}

    44 |
    Actions 53 | 54 |
    55 | @csrf 56 | @method('DELETE') 57 | 58 |
    59 | Edit 60 | 61 |
    67 | 68 |
    69 | @endsection 70 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | 'cluster' => env('PUSHER_APP_CLUSTER'), 40 | 'encrypted' => true, 41 | ], 42 | ], 43 | 44 | 'redis' => [ 45 | 'driver' => 'redis', 46 | 'connection' => 'default', 47 | ], 48 | 49 | 'log' => [ 50 | 'driver' => 'log', 51 | ], 52 | 53 | 'null' => [ 54 | 'driver' => 'null', 55 | ], 56 | 57 | ], 58 | 59 | ]; 60 | -------------------------------------------------------------------------------- /resources/views/backend/settings/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 8 | @endbreadcrumb 9 | 10 | 11 |
    12 |

    All settings

    13 | 14 | {{ photon_notification($errors)}} 15 | 16 | @if (count($settings) > 0 ) 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | @foreach ($settings as $setting) 28 | 29 | 32 | 35 | 36 | 37 | 40 | 41 | 44 | 45 | 57 | 58 | 59 | @endforeach 60 |
    IdKeyNameValueActions
    30 | {{ $setting->id }} 31 | 33 | {{ $setting->key }} 34 | 38 | {{ $setting->display_name }} 39 | 42 | {{ $setting->value }} 43 | 46 | 47 | 48 |
    49 | @csrf 50 | @method('DELETE') 51 | 52 |
    53 | Edit 55 | 56 |
    61 | @else 62 | 63 |

    No setting found yet

    64 | 65 | @endif 66 |
    67 | 68 | @endsection 69 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | mapApiRoutes(); 39 | 40 | $this->mapWebRoutes(); 41 | 42 | // 43 | } 44 | 45 | /** 46 | * Define the "web" routes for the application. 47 | * 48 | * These routes all receive session state, CSRF protection, etc. 49 | * 50 | * @return void 51 | */ 52 | protected function mapWebRoutes() 53 | { 54 | Route::middleware('web') 55 | ->namespace($this->namespace) 56 | ->group(base_path('routes/web.php')); 57 | } 58 | 59 | /** 60 | * Define the "api" routes for the application. 61 | * 62 | * These routes are typically stateless. 63 | * 64 | * @return void 65 | */ 66 | protected function mapApiRoutes() 67 | { 68 | Route::prefix('api') 69 | ->middleware('api') 70 | ->namespace($this->namespace) 71 | ->group(base_path('routes/api.php')); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /resources/views/backend/settings/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 | 15 | 16 |
    17 | @csrf 18 | 19 |
    20 | {{ photon_notification($errors)}} 21 |
    22 |

    Create setting

    23 | 24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 | 33 |
    34 | 35 | 36 |
    37 | 38 | 39 |
    40 |
    41 |
    42 |
    43 | 44 |
    45 | 46 | 47 |
    48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
    56 | 57 | 58 | @endsection 59 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /resources/views/backend/album/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | @csrf 16 | @method('PUT') 17 | 18 |
    19 |
    20 |

    Edit Album

    21 | 22 | {{ photon_notification($errors)}} 23 | 24 | 25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 |
    33 |
    34 | 35 | 36 |
    37 | 38 |
    39 | 40 |
    41 | 42 | 43 | 44 | 45 | 46 |
    47 | 48 | 49 | 50 |
    51 | 52 | 53 | 54 | 55 |
    56 | 57 | @endsection 58 | -------------------------------------------------------------------------------- /resources/views/backend/contactinfo/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 |
    12 | @csrf 13 | @method('PUT') 14 |
    15 | 16 | 17 |
    18 | 19 |

    Edit Contcat Info

    20 | 21 | {{ photon_notification($errors)}} 22 | 23 |
    24 | 25 | 26 |
    27 | 28 |
    29 | 30 | 33 |
    34 | 35 |
    36 | 37 |
    38 | 39 |
    40 | 41 |
    42 | 43 | 44 | 45 | 46 | 47 |
    48 | 49 | 50 |
    51 | 52 | 53 | 54 | @endsection 55 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/laravel", 3 | "type": "project", 4 | "description": "The Laravel Framework.", 5 | "keywords": [ 6 | "framework", 7 | "laravel" 8 | ], 9 | "license": "MIT", 10 | "require": { 11 | "php": "^7.1.3", 12 | "fideloper/proxy": "^4.0", 13 | "fzaninotto/faker": "^1.4", 14 | "laravel/framework": "5.7.*", 15 | "laravel/tinker": "^1.0", 16 | "santigarcor/laratrust": "5.0.*" 17 | }, 18 | "require-dev": { 19 | "beyondcode/laravel-dump-server": "^1.0", 20 | "filp/whoops": "^2.0", 21 | "mockery/mockery": "^1.0", 22 | "nunomaduro/collision": "^2.0", 23 | "phpunit/phpunit": "^7.0" 24 | }, 25 | "config": { 26 | "optimize-autoloader": true, 27 | "preferred-install": "dist", 28 | "sort-packages": true 29 | }, 30 | "extra": { 31 | "laravel": { 32 | "dont-discover": [] 33 | } 34 | }, 35 | "autoload": { 36 | "psr-4": { 37 | "App\\": "app/" 38 | }, 39 | "classmap": [ 40 | "database/seeds", 41 | "database/factories" 42 | ], 43 | "files": [ 44 | "app/Helpers/helpers.php" 45 | ] 46 | }, 47 | "autoload-dev": { 48 | "psr-4": { 49 | "Tests\\": "tests/" 50 | } 51 | }, 52 | "minimum-stability": "dev", 53 | "prefer-stable": true, 54 | "scripts": { 55 | "post-autoload-dump": [ 56 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 57 | "@php artisan package:discover --ansi" 58 | ], 59 | "post-root-package-install": [ 60 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 61 | ], 62 | "post-create-project-cmd": [ 63 | "@php artisan key:generate --ansi" 64 | ] 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /app/Notifications/NewUserNotification.php: -------------------------------------------------------------------------------- 1 | user = $user; 24 | $this->password = $password; 25 | } 26 | 27 | /** 28 | * Get the notification's delivery channels. 29 | * 30 | * @param mixed $notifiable 31 | * @return array 32 | */ 33 | public function via($notifiable) 34 | { 35 | return ['mail']; 36 | } 37 | 38 | /** 39 | * Get the mail representation of the notification. 40 | * 41 | * @param mixed $notifiable 42 | * @return \Illuminate\Notifications\Messages\MailMessage 43 | */ 44 | public function toMail($notifiable) 45 | { 46 | return (new MailMessage) 47 | ->line('Your account is created, now set your password by clicking below link') 48 | ->line('Your email is '.$this->user->email) 49 | ->line('Your Temperory password is '.$this->password) 50 | ->action('Notification Action', route('verify',$this->user->email_verification_token)) 51 | ->line('Thank you for using our application!'); 52 | } 53 | 54 | /** 55 | * Get the array representation of the notification. 56 | * 57 | * @param mixed $notifiable 58 | * @return array 59 | */ 60 | public function toArray($notifiable) 61 | { 62 | return [ 63 | // 64 | ]; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /resources/views/frontend/auth/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 | 8 |
    9 |
    10 |

    Register

    11 | 12 | {{ photon_notification($errors) }} 13 | 14 |
    15 | 16 | @csrf 17 | 18 | 19 |
    20 | 21 | 23 |
    24 | 25 | 26 |
    27 | 28 | 30 |
    31 | 32 | 33 |
    34 | 35 | 37 |
    38 | 39 |
    40 | 41 | 43 |
    44 | 45 | 46 | 47 |
    48 |
    49 |
    50 |
    51 | 52 | @endsection 53 | -------------------------------------------------------------------------------- /resources/views/backend/permission/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | 16 |

    permission Details

    17 | 18 | {{ photon_notification($errors) }} 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 70 | 71 | 72 | 73 | 74 |
    Id 24 | {{ $permission->id }} 25 |
    Name 33 | {{ $permission->name }} 34 |
    Display Name 42 | {{ $permission->display_name }} 43 |
    Description 51 | {{ $permission->description}} 52 |
    Actions 61 | 62 |
    63 | @csrf 64 | @method('DELETE') 65 | 66 |
    67 | Edit 68 | 69 |
    75 | 76 |
    77 | @endsection 78 | -------------------------------------------------------------------------------- /resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | 2 | window._ = require('lodash'); 3 | 4 | /** 5 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 6 | * for JavaScript based Bootstrap features such as modals and tabs. This 7 | * code may be modified to fit the specific needs of your application. 8 | */ 9 | 10 | try { 11 | window.Popper = require('popper.js').default; 12 | window.$ = window.jQuery = require('jquery'); 13 | 14 | require('bootstrap'); 15 | } catch (e) {} 16 | 17 | /** 18 | * We'll load the axios HTTP library which allows us to easily issue requests 19 | * to our Laravel back-end. This library automatically handles sending the 20 | * CSRF token as a header based on the value of the "XSRF" token cookie. 21 | */ 22 | 23 | window.axios = require('axios'); 24 | 25 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 26 | 27 | /** 28 | * Next we will register the CSRF Token as a common header with Axios so that 29 | * all outgoing HTTP requests automatically have it attached. This is just 30 | * a simple convenience so we don't have to attach every token manually. 31 | */ 32 | 33 | let token = document.head.querySelector('meta[name="csrf-token"]'); 34 | 35 | if (token) { 36 | window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; 37 | } else { 38 | console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); 39 | } 40 | 41 | /** 42 | * Echo exposes an expressive API for subscribing to channels and listening 43 | * for events that are broadcast by Laravel. Echo and event broadcasting 44 | * allows your team to easily build robust real-time web applications. 45 | */ 46 | 47 | // import Echo from 'laravel-echo' 48 | 49 | // window.Pusher = require('pusher-js'); 50 | 51 | // window.Echo = new Echo({ 52 | // broadcaster: 'pusher', 53 | // key: process.env.MIX_PUSHER_APP_KEY, 54 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 55 | // encrypted: true 56 | // }); 57 | -------------------------------------------------------------------------------- /resources/js/backend/bootstrap.js: -------------------------------------------------------------------------------- 1 | 2 | window._ = require('lodash'); 3 | 4 | /** 5 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 6 | * for JavaScript based Bootstrap features such as modals and tabs. This 7 | * code may be modified to fit the specific needs of your application. 8 | */ 9 | 10 | try { 11 | window.Popper = require('popper.js').default; 12 | window.$ = window.jQuery = require('jquery'); 13 | 14 | require('bootstrap'); 15 | } catch (e) {} 16 | 17 | /** 18 | * We'll load the axios HTTP library which allows us to easily issue requests 19 | * to our Laravel back-end. This library automatically handles sending the 20 | * CSRF token as a header based on the value of the "XSRF" token cookie. 21 | */ 22 | 23 | window.axios = require('axios'); 24 | 25 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 26 | 27 | /** 28 | * Next we will register the CSRF Token as a common header with Axios so that 29 | * all outgoing HTTP requests automatically have it attached. This is just 30 | * a simple convenience so we don't have to attach every token manually. 31 | */ 32 | 33 | let token = document.head.querySelector('meta[name="csrf-token"]'); 34 | 35 | if (token) { 36 | window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; 37 | } else { 38 | console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); 39 | } 40 | 41 | /** 42 | * Echo exposes an expressive API for subscribing to channels and listening 43 | * for events that are broadcast by Laravel. Echo and event broadcasting 44 | * allows your team to easily build robust real-time web applications. 45 | */ 46 | 47 | // import Echo from 'laravel-echo' 48 | 49 | // window.Pusher = require('pusher-js'); 50 | 51 | // window.Echo = new Echo({ 52 | // broadcaster: 'pusher', 53 | // key: process.env.MIX_PUSHER_APP_KEY, 54 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 55 | // encrypted: true 56 | // }); 57 | -------------------------------------------------------------------------------- /resources/views/backend/users/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 7 | @endbreadcrumb 8 | 9 | 10 | 11 |
    12 |

    All users

    13 | {{ photon_notification($errors)}} 14 | 15 | @if (count($users) > 0 ) 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | @foreach ($users as $user) 27 | 28 | 31 | 34 | 35 | 38 | 39 | 42 | 43 | 52 | 53 | 56 | 57 | 58 | @endforeach 59 |
    IdNameEmailVerifiedRoleDetails
    29 | {{ $user->id }} 30 | 32 | {{ $user->name }} 33 | 36 | {{ $user->email }} 37 | 40 | {{ $user->email_verified_at ? 'verified' : 'not verified' }} 41 | 44 | @if (count($user->roles)> 0) 45 | @foreach ($user->roles as $role) 46 | {{ $role->display_name}} 47 | @endforeach 48 | @else 49 | No role set yet 50 | @endif 51 | 54 | Details 55 |
    60 | @else 61 | 62 |

    No album found yet

    63 | 64 | @endif 65 | 66 |
    67 | @endsection 68 | -------------------------------------------------------------------------------- /resources/views/backend/team/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 |

    Details team

    15 | 16 | {{ photon_notification($errors) }} 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 70 | 71 | 72 | 73 | 74 |
    Id 23 | {{ $team->id }} 24 |
    Name 32 | {{ $team->name }} 33 |
    Thumbnail 41 | 42 |
    Description 51 |

    {{ $team->description }}

    52 |
    Actions 61 | 62 |
    63 | @csrf 64 | @method('DELETE') 65 | 66 |
    67 | Edit 68 | 69 |
    75 | 76 |
    77 | @endsection 78 | -------------------------------------------------------------------------------- /resources/views/backend/permission/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | @csrf 16 | @method('PUT') 17 | 18 |
    19 |
    20 |

    Edit permission

    21 | 22 | {{ photon_notification($errors)}} 23 | 24 | 25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 | 33 |
    34 | 35 |
    36 | 37 | 38 |
    39 | 40 |
    41 | 42 |
    43 |
    44 | 45 | 46 |
    47 | 48 |
    49 | 50 | 51 | 52 | 53 |
    54 | 55 | 56 | 57 | 58 |
    59 | 60 | @endsection 61 | -------------------------------------------------------------------------------- /resources/views/backend/photo/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 | 15 |

    Album Details

    16 | 17 | {{ photon_notification($errors) }} 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 72 | 73 | 74 | 75 | 76 |
    Id 24 | {{ $photo->id }} 25 |
    Title 33 | {{ $photo->title }} 34 |
    Image 42 | 43 |
    Description 52 | {{ $photo->description }} 53 |
    Actions 63 | 64 |
    65 | @csrf 66 | @method('DELETE') 67 | 68 |
    69 | Edit 70 | 71 |
    77 | 78 |
    79 | @endsection 80 | -------------------------------------------------------------------------------- /resources/views/backend/service/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 |

    Service Details

    15 | 16 | {{ photon_notification($errors) }} 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 70 | 71 | 72 | 73 | 74 |
    Id 22 | {{ $service->id }} 23 |
    Title 31 | {{ $service->title }} 32 |
    Image 40 | 41 |
    Description 50 | {{ $service->description }} 51 |
    Actions 61 | 62 |
    63 | @csrf 64 | @method('DELETE') 65 | 66 |
    67 | Edit 68 | 69 |
    75 | 76 |
    77 | @endsection 78 | -------------------------------------------------------------------------------- /resources/views/backend/settings/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | @csrf 16 | @method('PUT') 17 | 18 |
    19 |
    20 |

    Edit setting

    21 | 22 | {{ photon_notification($errors)}} 23 | 24 | 25 |
    26 | 27 | 29 |
    30 | 31 |
    32 | 33 | 35 |
    36 | 37 |
    38 | 39 | 41 |
    42 | 43 | 44 |
    45 | 46 |
    47 |
    48 | 49 | 50 |
    51 | 52 |
    53 | 54 | 55 | 56 | 57 |
    58 | 59 | 60 | 61 | 62 |
    63 | 64 | @endsection 65 | -------------------------------------------------------------------------------- /resources/views/single.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 |
    8 | 9 |
    10 | 11 |
    12 |
    13 |
    14 |

    {{ $album->name }}

    15 |
    16 |
    17 |
    18 | 19 |
    20 |
    21 | @if (count($album->photo) > 0) 22 | 23 | @foreach ($album->photo as $photo) 24 | 25 |
    30 | IMage 31 |
    32 | 33 | @endforeach 34 | 35 | @endif 36 | 37 |
    38 |
    39 |
    40 | 41 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | @endsection 58 | -------------------------------------------------------------------------------- /resources/views/frontend/single.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 | 5 | 6 |
    7 |
    8 | 9 |
    10 | 11 |
    12 |
    13 |
    14 |

    {{ $album->name }}

    15 |
    16 |
    17 |
    18 | 19 |
    20 |
    21 | @if (count($album->photo) > 0) 22 | 23 | @foreach ($album->photo as $photo) 24 | 25 |
    30 | IMage 31 |
    32 | 33 | @endforeach 34 | 35 | @endif 36 | 37 |
    38 |
    39 |
    40 | 41 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | @endsection 58 | -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | define('LARAVEL_START', microtime(true)); 11 | 12 | /* 13 | |-------------------------------------------------------------------------- 14 | | Register The Auto Loader 15 | |-------------------------------------------------------------------------- 16 | | 17 | | Composer provides a convenient, automatically generated class loader for 18 | | our application. We just need to utilize it! We'll simply require it 19 | | into the script here so that we don't have to worry about manual 20 | | loading any of our classes later on. It feels great to relax. 21 | | 22 | */ 23 | 24 | require __DIR__.'/../vendor/autoload.php'; 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Turn On The Lights 29 | |-------------------------------------------------------------------------- 30 | | 31 | | We need to illuminate PHP development, so let us turn on the lights. 32 | | This bootstraps the framework and gets it ready for use, then it 33 | | will load up this application so that we can run it and send 34 | | the responses back to the browser and delight our users. 35 | | 36 | */ 37 | 38 | $app = require_once __DIR__.'/../bootstrap/app.php'; 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Run The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once we have the application, we can handle the incoming request 46 | | through the kernel, and send the associated response back to 47 | | the client's browser allowing them to enjoy the creative 48 | | and wonderful application we have prepared for them. 49 | | 50 | */ 51 | 52 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); 53 | 54 | $response = $kernel->handle( 55 | $request = Illuminate\Http\Request::capture() 56 | ); 57 | 58 | $response->send(); 59 | 60 | $kernel->terminate($request, $response); 61 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/email.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
    5 |
    6 |
    7 |
    8 |
    {{ __('Reset Password') }}
    9 | 10 |
    11 | @if (session('status')) 12 | 15 | @endif 16 | 17 |
    18 | @csrf 19 | 20 |
    21 | 22 | 23 |
    24 | 25 | 26 | @if ($errors->has('email')) 27 | 28 | {{ $errors->first('email') }} 29 | 30 | @endif 31 |
    32 |
    33 | 34 |
    35 |
    36 | 39 |
    40 |
    41 |
    42 |
    43 |
    44 |
    45 |
    46 |
    47 | @endsection 48 | -------------------------------------------------------------------------------- /resources/views/backend/team/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 | 14 |
    15 | @csrf 16 | 17 |
    18 | 19 | 20 |
    21 | 22 |

    Create Team

    23 | 24 | {{ photon_notification($errors)}} 25 | 26 |
    27 | 28 | 29 |
    30 | 31 |
    32 | 33 | 34 |
    35 | 36 | 37 |
    38 |
    39 |
    40 | 41 |
    42 | 43 |
    44 | 45 | 46 | 47 | 48 |
    49 | 50 | 51 | 52 |
    53 | 54 | 55 |
    56 | 57 | 58 | @endsection 59 | -------------------------------------------------------------------------------- /resources/views/backend/role/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 | 15 | 16 |
    17 | @csrf 18 | 19 |
    20 | {{ photon_notification($errors)}} 21 |
    22 |

    Create role

    23 | 24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 | 33 |
    34 | 35 | 36 |
    37 | 38 |
    39 |
    40 |
    41 |
    42 | 43 |
    44 | 45 |
    46 | 47 | 55 |
    56 |
    57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
    65 | 66 | 67 | @endsection 68 | -------------------------------------------------------------------------------- /config/filesystems.php: -------------------------------------------------------------------------------- 1 | env('FILESYSTEM_DRIVER', 'public'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Default Cloud Filesystem Disk 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Many applications store files both locally and in the cloud. For this 24 | | reason, you may specify a default "cloud" driver here. This driver 25 | | will be bound as the Cloud disk implementation in the container. 26 | | 27 | */ 28 | 29 | 'cloud' => env('FILESYSTEM_CLOUD', 's3'), 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Filesystem Disks 34 | |-------------------------------------------------------------------------- 35 | | 36 | | Here you may configure as many filesystem "disks" as you wish, and you 37 | | may even configure multiple disks of the same driver. Defaults have 38 | | been setup for each driver as an example of the required options. 39 | | 40 | | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" 41 | | 42 | */ 43 | 44 | 'disks' => [ 45 | 46 | 'local' => [ 47 | 'driver' => 'local', 48 | 'root' => storage_path('app'), 49 | ], 50 | 51 | 'public' => [ 52 | 'driver' => 'local', 53 | 'root' => storage_path('app/public'), 54 | 'url' => env('APP_URL').'/storage', 55 | 'visibility' => 'public', 56 | ], 57 | 58 | 's3' => [ 59 | 'driver' => 's3', 60 | 'key' => env('AWS_ACCESS_KEY_ID'), 61 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 62 | 'region' => env('AWS_DEFAULT_REGION'), 63 | 'bucket' => env('AWS_BUCKET'), 64 | 'url' => env('AWS_URL'), 65 | ], 66 | 67 | ], 68 | 69 | ]; 70 | -------------------------------------------------------------------------------- /resources/views/backend/team/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 | @csrf 15 | @method('PUT') 16 |
    17 | 18 | 19 |
    20 | 21 |

    Edit team

    22 | 23 | {{ photon_notification($errors)}} 24 | 25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 | 35 |
    36 | 37 |
    38 | 39 |
    40 | 41 |
    42 | 43 |
    44 | 45 | 46 |
    47 | 48 | 49 | 50 | 51 | 52 |
    53 | 54 | 55 | 56 |
    57 | 58 | 59 |
    60 | 61 | 62 | 63 | @endsection 64 | -------------------------------------------------------------------------------- /resources/views/backend/role/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | 16 |

    role Details

    17 | 18 | {{ photon_notification($errors) }} 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 85 | 86 | 87 | 88 | 89 |
    Id 24 | {{ $role->id }} 25 |
    Name 33 | {{ $role->name }} 34 |
    Display Name 42 | {{ $role->display_name }} 43 |
    Description 51 | {{ $role->description}} 52 |
    Permissions 60 | 61 | @if (count($role->permissions)>0) 62 | @foreach($role->permissions as $permission) 63 | {{ $permission->display_name }}| 64 | @endforeach 65 | @endif 66 |
    Actions 76 | 77 |
    78 | @csrf 79 | @method('DELETE') 80 | 81 |
    82 | Edit 83 | 84 |
    90 | 91 |
    92 | @endsection 93 | -------------------------------------------------------------------------------- /resources/views/backend/settings/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | 16 |

    role Details

    17 | 18 | {{ photon_notification($errors) }} 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 85 | 86 | 87 | 88 | 89 |
    Id 24 | {{ $role->id }} 25 |
    Name 33 | {{ $role->name }} 34 |
    Display Name 42 | {{ $role->display_name }} 43 |
    Description 51 | {{ $role->description}} 52 |
    Permissions 60 | 61 | @if (count($role->permissions)>0) 62 | @foreach($role->permissions as $permission) 63 | {{ $permission->display_name }}| 64 | @endforeach 65 | @endif 66 |
    Actions 76 | 77 |
    78 | @csrf 79 | @method('DELETE') 80 | 81 |
    82 | Edit 83 | 84 |
    90 | 91 |
    92 | @endsection 93 | -------------------------------------------------------------------------------- /resources/views/backend/service/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | @breadcrumb() 5 | 8 | 9 | @endbreadcrumb 10 | 11 | 12 | 13 |
    14 | @csrf 15 | 16 |
    17 | 18 | 19 |
    20 | 21 |

    Create Service

    22 | 23 | 24 | {{ photon_notification($errors)}} 25 | 26 |
    27 | 28 | 29 |
    30 | 31 |
    32 | 33 | 34 |
    35 | 36 |
    37 | 38 | 39 |
    40 | 41 | 42 |
    43 |
    44 |
    45 |
    46 | 47 |
    48 | 49 |
    50 | 51 | 52 | 53 | 54 | 55 | 56 |
    57 | 58 | 59 |
    60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
    68 | 69 | 70 | @endsection 71 | -------------------------------------------------------------------------------- /resources/views/backend/users/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 | 14 |
    15 | @csrf 16 | 17 |
    18 | 19 | 20 |
    21 | 22 |

    Create User

    23 | 24 | {{ photon_notification($errors)}} 25 | 26 |
    27 | 28 | 29 |
    30 | 31 |
    32 | 33 | 34 |
    35 | 36 | 37 |
    38 |
    39 |
    40 | 41 |
    42 | 43 |
    44 | 45 | 55 |
    56 |
    57 | 58 | 59 | 60 | 61 | 62 | 63 |
    64 | 65 | 66 | @endsection 67 | -------------------------------------------------------------------------------- /resources/views/frontend/about.blade.php: -------------------------------------------------------------------------------- 1 | @extends('frontend.layouts.app') 2 | @section('content') 3 | 4 |
    5 |
    6 | 7 |
    8 |
    9 |
    10 |
    11 |

    About Us

    12 |
    13 |
    14 | 15 | {{--
    16 |
    17 | Images 18 |
    19 |
    20 |

    Our Mission

    21 |

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus vel tenetur explicabo necessitatibus, ad soluta consectetur illo qui voluptatem. Quis soluta maiores eum. Iste modi voluptatum in repudiandae fugiat suscipit dolorum harum, porro voluptate quis? Alias repudiandae dicta doloremque voluptates soluta repellendus, unde laborum quo nam, ullam facere voluptatem similique.

    22 |
    23 |
    --}} 24 | 25 | 26 |
    27 | @if (count($teams) > 0) 28 | @foreach ($teams as $team) 29 |
    30 | Image 31 |

    {{ $team->name }}

    32 |

    33 | {{ $team->description }} 34 |

    35 |

    36 | 37 | 38 | 39 |

    40 |
    41 | 42 | @endforeach 43 | @endif 44 |
    45 |
    46 | 47 |
    48 |
    49 |
    50 | @endsection -------------------------------------------------------------------------------- /app/Http/Controllers/FrontendController.php: -------------------------------------------------------------------------------- 1 | get(); 19 | return view('frontend.index',$data); 20 | } 21 | 22 | // Gallery 23 | 24 | public function gallery($slug){ 25 | $album = Album::where('slug',$slug)->first(); 26 | $data["albums"] = Album::orderBy('created_at','desc')->get(); 27 | $data["title"] = $album->name; 28 | $data["photos"] = Photo::where("album_id",$album->id)->get(); 29 | return view('frontend.gallery',$data); 30 | } 31 | 32 | // About 33 | 34 | public function about(){ 35 | $data["albums"] = Album::orderBy('created_at','desc')->get(); 36 | $data["teams"] = Team::orderBy('created_at','desc')->get(); 37 | return view('frontend.about',$data); 38 | } 39 | 40 | // Contact 41 | 42 | public function contact(){ 43 | $data["infos"] = ContactInfo::orderBy('created_at','desc')->get(); 44 | return view('frontend.contact',$data); 45 | } 46 | 47 | public function contactForm(Request $request){ 48 | 49 | $validator = Validator::make($request->all(),[ 50 | 'fname' => 'required', 51 | 'lname' => 'required', 52 | 'subject' => 'required', 53 | 'email' => 'required|email', 54 | 'message' => 'required|string', 55 | ]); 56 | if($validator->fails()){ 57 | return redirect()->back()->withErrors($validator); 58 | } 59 | 60 | Mail::to('tawhid.developer@gmail.com')->send(new ContactForm($request->all())); 61 | 62 | session()->flash("type","success"); 63 | session()->flash("message","Mail Send Successfully"); 64 | 65 | return redirect()->route("contact"); 66 | 67 | } 68 | 69 | // Service 70 | 71 | public function service(){ 72 | $data["albums"] = Album::orderBy('created_at','desc')->get(); 73 | $data["ourservices"] = Service::all(); 74 | return view('frontend.service',$data); 75 | } 76 | 77 | } 78 | -------------------------------------------------------------------------------- /resources/views/backend/users/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 |

    Details user

    15 | 16 | {{ photon_notification($errors) }} 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 84 | 85 | 86 | 87 | 88 |
    Id 23 | {{ $user->id }} 24 |
    Name 32 | {{ $user->name }} 33 |
    Email 41 | {{ $user->email }} 42 |
    Email Verification 51 |

    {{ $user->email_verified_at ? 'verified' : 'not verified' }}

    52 |
    Roles 59 | @if (count($user->roles) > 0 ) 60 | @foreach ($user->roles as $role) 61 | {{ $role->display_name}} 62 | @endforeach 63 | @else 64 | No role found yet 65 | @endif 66 |
    Actions 75 | 76 |
    77 | @csrf 78 | @method('DELETE') 79 | 80 |
    81 | Edit 82 | 83 |
    89 | 90 |
    91 | @endsection 92 | -------------------------------------------------------------------------------- /resources/views/backend/photo/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | @csrf 16 | 17 |
    18 | 19 | 20 |
    21 | 22 |

    Add Photo

    23 | {{ photon_notification($errors)}} 24 |
    25 | 26 | 27 |
    28 | 29 |
    30 | 31 | 32 |
    33 | 34 |
    35 |
    36 | 37 |
    38 | 39 |
    40 | 41 |
    42 | 43 |
    44 | 45 | 52 |
    53 | 54 | 55 | 56 |
    57 | 58 | 59 | 60 | 61 |
    62 | 63 | 64 | 65 | 66 |
    67 | 68 | 69 |
    70 | 71 | 72 | @endsection 73 | -------------------------------------------------------------------------------- /resources/views/backend/user/profile.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 7 | @endbreadcrumb 8 | 9 | 10 | 11 |
    12 | {{ photon_notification($errors)}} 13 |
    14 |
    15 |

    User Details

    16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
    Name{{ auth()->user()->name }}
    Email{{ auth()->user()->email }}
    27 |
    28 |
    29 | 30 |
    31 | @csrf 32 | @method('PUT') 33 |

    Edit Settings

    34 |
    35 | 36 | 37 |
    38 | 39 |
    40 | 41 | 42 |
    43 | 44 |
    45 | 46 | 47 |
    48 | 49 |
    50 | 51 | 52 |
    53 | 54 |
    55 | 56 |
    57 | 58 |
    59 | 60 |
    61 |
    62 |
    63 | 64 | @endsection 65 | -------------------------------------------------------------------------------- /resources/views/backend/users/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | @section('content') 4 | 5 | @breadcrumb() 6 | 9 | 10 | @endbreadcrumb 11 | 12 | 13 |
    14 | @csrf 15 | @method('PUT') 16 |
    17 | 18 | 19 |
    20 | 21 |

    Edit user

    22 | 23 | {{ photon_notification($errors)}} 24 | 25 |
    26 |

    {{ $user->name }}

    27 |
    28 | 29 |
    30 | 31 | 33 |
    34 | 35 | 36 |
    37 | 38 | 53 |
    54 | 55 | 56 |
    57 | 58 |
    59 | 60 |
    61 | 62 |
    63 | 64 | 65 | 66 | 67 | 68 |
    69 | 70 | 71 |
    72 | 73 | 74 | 75 | @endsection 76 | -------------------------------------------------------------------------------- /resources/views/backend/role/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('backend.layouts.app') 2 | 3 | 4 | @section('content') 5 | 6 | @breadcrumb() 7 | 10 | 11 | @endbreadcrumb 12 | 13 | 14 |
    15 | @csrf 16 | @method('PUT') 17 | 18 |
    19 |
    20 |

    Edit role

    21 | 22 | {{ photon_notification($errors)}} 23 | 24 | 25 |
    26 | 27 | 28 |
    29 | 30 |
    31 | 32 | 33 |
    34 | 35 |
    36 | 37 | 38 |
    39 | 40 |
    41 | 42 | 52 |
    53 | 54 |
    55 | 56 |
    57 |
    58 | 59 | 60 |
    61 | 62 |
    63 | 64 | 65 | 66 | 67 |
    68 | 69 | 70 | 71 | 72 |
    73 | 74 | @endsection 75 | --------------------------------------------------------------------------------