├── public
├── favicon.ico
├── robots.txt
├── app
│ ├── img
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.jpg
│ │ ├── 4.jpg
│ │ ├── 5.jpg
│ │ ├── 6.jpg
│ │ ├── eye.png
│ │ ├── ppc.png
│ │ ├── amex.png
│ │ ├── book1.png
│ │ ├── book2.png
│ │ ├── book3.png
│ │ ├── book4.png
│ │ ├── book5.png
│ │ ├── book6.png
│ │ ├── book7.png
│ │ ├── book8.png
│ │ ├── book9.png
│ │ ├── case1.jpg
│ │ ├── case2.jpg
│ │ ├── case3.jpg
│ │ ├── case4.jpg
│ │ ├── case5.jpg
│ │ ├── case6.jpg
│ │ ├── case7.jpg
│ │ ├── case8.jpg
│ │ ├── post1.jpg
│ │ ├── post2.jpg
│ │ ├── post3.jpg
│ │ ├── post4.jpg
│ │ ├── visa.png
│ │ ├── 404-img.png
│ │ ├── analysis.jpg
│ │ ├── avatar.png
│ │ ├── avatar1.png
│ │ ├── avatar2.png
│ │ ├── avatar3.png
│ │ ├── avatar4.png
│ │ ├── avatar5.png
│ │ ├── avatar6.png
│ │ ├── avatar7.png
│ │ ├── avatar9.png
│ │ ├── contact4.png
│ │ ├── contact5.png
│ │ ├── contact6.png
│ │ ├── contact7.png
│ │ ├── contact8.png
│ │ ├── contact9.png
│ │ ├── discover.png
│ │ ├── elements.png
│ │ ├── logo-eye.png
│ │ ├── mac-book.png
│ │ ├── menu-bg.png
│ │ ├── offers1.png
│ │ ├── pay-pal.png
│ │ ├── pricing1.png
│ │ ├── pricing2.png
│ │ ├── pricing3.png
│ │ ├── profit.png
│ │ ├── request.png
│ │ ├── slider1.png
│ │ ├── slider2.png
│ │ ├── slider3.png
│ │ ├── slider4.png
│ │ ├── slider5.png
│ │ ├── subscr1.png
│ │ ├── video2.png
│ │ ├── avatar-bg.png
│ │ ├── features1.png
│ │ ├── features2.png
│ │ ├── features3.png
│ │ ├── features4.png
│ │ ├── features5.png
│ │ ├── features6.png
│ │ ├── info-box1.png
│ │ ├── info-box10.png
│ │ ├── info-box11.png
│ │ ├── info-box12.png
│ │ ├── info-box13.png
│ │ ├── info-box14.png
│ │ ├── info-box15.png
│ │ ├── info-box16.png
│ │ ├── info-box17.png
│ │ ├── info-box18.png
│ │ ├── info-box19.png
│ │ ├── info-box2.png
│ │ ├── info-box20.png
│ │ ├── info-box21.png
│ │ ├── info-box22.png
│ │ ├── info-box23.png
│ │ ├── info-box24.png
│ │ ├── info-box25.png
│ │ ├── info-box26.png
│ │ ├── info-box27.png
│ │ ├── info-box28.png
│ │ ├── info-box3.png
│ │ ├── info-box4.png
│ │ ├── info-box5.png
│ │ ├── info-box6.png
│ │ ├── info-box7.png
│ │ ├── info-box8.png
│ │ ├── info-box9.png
│ │ ├── local-seo1.jpg
│ │ ├── local-seo2.jpg
│ │ ├── local-seo3.jpg
│ │ ├── marketing.png
│ │ ├── mastercard.png
│ │ ├── mountain1.png
│ │ ├── mountain2.png
│ │ ├── seoscore1.png
│ │ ├── seoscore2.png
│ │ ├── seoscore3.png
│ │ ├── services1.png
│ │ ├── services2.png
│ │ ├── services3.png
│ │ ├── services4.png
│ │ ├── services5.png
│ │ ├── solutions.jpg
│ │ ├── bg-boxed-blue.jpg
│ │ ├── bg-boxed-dark.jpg
│ │ ├── bg-boxed-red.jpg
│ │ ├── blog-details.jpg
│ │ ├── cart-product4.png
│ │ ├── cart-product5.png
│ │ ├── cart-product6.png
│ │ ├── client-white1.png
│ │ ├── client-white2.png
│ │ ├── client-white3.png
│ │ ├── client-white4.png
│ │ ├── client-white5.png
│ │ ├── client-white6.png
│ │ ├── client1-hover.png
│ │ ├── client2-hover.png
│ │ ├── client3-hover.png
│ │ ├── client4-hover.png
│ │ ├── client5-hover.png
│ │ ├── client6-hover.png
│ │ ├── description1.jpg
│ │ ├── google-logo.png
│ │ ├── post-author1.png
│ │ ├── post-author2.png
│ │ ├── post-author3.png
│ │ ├── pricing-dots.png
│ │ ├── results-ver2.png
│ │ ├── seo-analysis.png
│ │ ├── slider-photo1.jpg
│ │ ├── slider-photo2.jpg
│ │ ├── slider-photo3.jpg
│ │ ├── slider-photo4.jpg
│ │ ├── slider-photo5.jpg
│ │ ├── social-photo.png
│ │ ├── social-photo2.png
│ │ ├── subscr-gear.png
│ │ ├── teammember1.png
│ │ ├── teammember2.png
│ │ ├── teammember3.png
│ │ ├── teammember4.png
│ │ ├── testimonial1.png
│ │ ├── testimonial2.png
│ │ ├── video-format.png
│ │ ├── bg-boxed-black.jpg
│ │ ├── bg-boxed-light.jpg
│ │ ├── description-mac.png
│ │ ├── load-more-arrow.png
│ │ ├── load-more-line.png
│ │ ├── local-seo-main.jpg
│ │ ├── pattern-bg-blue.jpg
│ │ ├── pattern-bg-gray.jpg
│ │ ├── pattern-bg-lime.jpg
│ │ ├── pattern-bg-red.jpg
│ │ ├── pattern-bg-rose.jpg
│ │ ├── photo-elements1.jpg
│ │ ├── photo-elements2.jpg
│ │ ├── photo-elements3.jpg
│ │ ├── photo-elements4.jpg
│ │ ├── photo-elements5.jpg
│ │ ├── product-details.png
│ │ ├── reviews-avatar1.png
│ │ ├── reviews-avatar2.png
│ │ ├── reviews-avatar3.png
│ │ ├── subscr-mailopen.png
│ │ ├── time-line-thumb.png
│ │ ├── avatar-b-details.png
│ │ ├── background-element.png
│ │ ├── bg-boxed-primary.jpg
│ │ ├── pattern-bg-breez.jpg
│ │ ├── pattern-bg-brown.jpg
│ │ ├── pattern-bg-green.jpg
│ │ ├── pattern-bg-olive.jpg
│ │ ├── pattern-bg-orange.jpg
│ │ ├── pattern-bg-violet.jpg
│ │ ├── product-solution.png
│ │ ├── blog-details-author.png
│ │ ├── pattern-bg-lightblue.jpg
│ │ ├── pattern-bg-lightgray.jpg
│ │ ├── testimonial-author1.jpg
│ │ ├── testimonial-author2.jpg
│ │ ├── pattern-bg-lightviolet.jpg
│ │ ├── stunning-header-photo1.jpg
│ │ ├── stunning-header-photo2.jpg
│ │ ├── stunning-header-photo3.jpg
│ │ ├── stunning-header-photo4.jpg
│ │ ├── stunning-header-photo5.jpg
│ │ └── stunning-header-photo6.jpg
│ ├── fonts
│ │ ├── seosightbe82.ttf
│ │ ├── seosightbe82.woff
│ │ ├── fontawesome-webfont3295.eot
│ │ ├── fontawesome-webfont3295.ttf
│ │ ├── fontawesome-webfontd41d.eot
│ │ ├── fontawesome-webfont3295.woff
│ │ └── fontawesome-webfont3295.woff2
│ ├── css
│ │ ├── mCSB_buttons.html
│ │ └── custom-styles.css
│ ├── svg
│ │ ├── circle-facebook.svg
│ │ ├── twitter.svg
│ │ ├── youtube.svg
│ │ ├── rss.svg
│ │ ├── video-control.svg
│ │ └── google.svg
│ └── js
│ │ ├── donut-chart.js
│ │ ├── animation.velocity.min.js
│ │ └── ajax-pagination.js
├── design
│ ├── post.jpg
│ └── user.jpg
├── .htaccess
└── index.php
├── database
├── .gitignore
├── seeds
│ ├── DatabaseSeeder.php
│ └── CategorySeeder.php
├── migrations
│ ├── 2018_10_02_184127_create_tags_table.php
│ ├── 2018_10_02_134400_create_categories_table.php
│ ├── 2018_10_02_184136_post_tag.php
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ ├── 2018_10_03_120455_create_profiles_table.php
│ ├── 2018_10_03_152556_create_settings_table.php
│ ├── 2014_10_12_000000_create_users_table.php
│ └── 2018_10_02_134354_create_posts_table.php
└── factories
│ └── ModelFactory.php
├── resources
├── views
│ ├── layouts
│ │ ├── menu.blade.php
│ │ ├── app.blade.php
│ │ ├── partials
│ │ │ ├── disqus.blade.php
│ │ │ ├── posts_by_category.blade.php
│ │ │ └── subscribe_form.blade.php
│ │ ├── header.blade.php
│ │ └── navbar.blade.php
│ ├── admin
│ │ ├── layouts
│ │ │ └── message.blade.php
│ │ ├── tags
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── index.blade.php
│ │ ├── categories
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── index.blade.php
│ │ ├── users
│ │ │ ├── create.blade.php
│ │ │ ├── index.blade.php
│ │ │ └── profile.blade.php
│ │ ├── home.blade.php
│ │ ├── posts
│ │ │ ├── index.blade.php
│ │ │ ├── trashed.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── create.blade.php
│ │ └── settings
│ │ │ └── index.blade.php
│ ├── welcome.blade.php
│ ├── auth
│ │ ├── verify.blade.php
│ │ └── passwords
│ │ │ ├── email.blade.php
│ │ │ └── reset.blade.php
│ ├── tag.blade.php
│ ├── search.blade.php
│ └── category.blade.php
├── sass
│ ├── app.scss
│ └── _variables.scss
├── lang
│ └── en
│ │ ├── pagination.php
│ │ ├── auth.php
│ │ └── passwords.php
└── js
│ ├── components
│ └── ExampleComponent.vue
│ ├── app.js
│ └── bootstrap.js
├── bootstrap
├── cache
│ └── .gitignore
└── app.php
├── storage
├── logs
│ └── .gitignore
├── app
│ ├── public
│ │ └── .gitignore
│ └── .gitignore
├── debugbar
│ └── .gitignore
└── framework
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── cache
│ ├── data
│ │ └── .gitignore
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── .gitattributes
├── app
├── Setting.php
├── Profile.php
├── Http
│ ├── helper.php
│ ├── Controllers
│ │ ├── TagsController.php
│ │ ├── FrontendController.php
│ │ ├── Controller.php
│ │ ├── SearchController.php
│ │ ├── Admin
│ │ │ ├── SettingsController.php
│ │ │ ├── UsersController.php
│ │ │ ├── TagsController.php
│ │ │ └── CategoriesController.php
│ │ ├── HomeController.php
│ │ ├── Auth
│ │ │ ├── ForgotPasswordController.php
│ │ │ ├── LoginController.php
│ │ │ ├── ResetPasswordController.php
│ │ │ └── VerificationController.php
│ │ └── ProfilesController.php
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── CheckForMaintenanceMode.php
│ │ ├── TrimStrings.php
│ │ ├── Admin.php
│ │ ├── Authenticate.php
│ │ ├── TrustProxies.php
│ │ ├── VerifyCsrfToken.php
│ │ └── RedirectIfAuthenticated.php
│ ├── Requests
│ │ └── StorePostForm.php
│ └── Kernel.php
├── Upload
│ └── Upload.php
├── Tag.php
├── Providers
│ ├── BroadcastServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ ├── AppServiceProvider.php
│ └── RouteServiceProvider.php
├── Category.php
├── Console
│ └── Kernel.php
├── Queries
│ └── PostQuery.php
├── Exceptions
│ └── Handler.php
├── User.php
└── Post.php
├── tests
├── TestCase.php
├── Unit
│ └── ExampleTest.php
├── Feature
│ └── ExampleTest.php
└── CreatesApplication.php
├── .gitignore
├── .editorconfig
├── README.md
├── routes
├── channels.php
├── api.php
├── console.php
└── web.php
├── webpack.mix.js
├── server.php
├── .env.example
├── package.json
├── config
├── view.php
├── newsletter.php
├── services.php
├── hashing.php
├── broadcasting.php
├── filesystems.php
├── logging.php
├── queue.php
├── cache.php
└── auth.php
├── phpunit.xml
├── artisan
└── composer.json
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/resources/views/layouts/menu.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/debugbar/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/data/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !data/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/public/app/img/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/1.png
--------------------------------------------------------------------------------
/public/app/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/2.png
--------------------------------------------------------------------------------
/public/app/img/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/3.jpg
--------------------------------------------------------------------------------
/public/app/img/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/4.jpg
--------------------------------------------------------------------------------
/public/app/img/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/5.jpg
--------------------------------------------------------------------------------
/public/app/img/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/6.jpg
--------------------------------------------------------------------------------
/public/app/img/eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/eye.png
--------------------------------------------------------------------------------
/public/app/img/ppc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/ppc.png
--------------------------------------------------------------------------------
/public/design/post.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/design/post.jpg
--------------------------------------------------------------------------------
/public/design/user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/design/user.jpg
--------------------------------------------------------------------------------
/public/app/img/amex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/amex.png
--------------------------------------------------------------------------------
/public/app/img/book1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book1.png
--------------------------------------------------------------------------------
/public/app/img/book2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book2.png
--------------------------------------------------------------------------------
/public/app/img/book3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book3.png
--------------------------------------------------------------------------------
/public/app/img/book4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book4.png
--------------------------------------------------------------------------------
/public/app/img/book5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book5.png
--------------------------------------------------------------------------------
/public/app/img/book6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book6.png
--------------------------------------------------------------------------------
/public/app/img/book7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book7.png
--------------------------------------------------------------------------------
/public/app/img/book8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book8.png
--------------------------------------------------------------------------------
/public/app/img/book9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/book9.png
--------------------------------------------------------------------------------
/public/app/img/case1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case1.jpg
--------------------------------------------------------------------------------
/public/app/img/case2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case2.jpg
--------------------------------------------------------------------------------
/public/app/img/case3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case3.jpg
--------------------------------------------------------------------------------
/public/app/img/case4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case4.jpg
--------------------------------------------------------------------------------
/public/app/img/case5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case5.jpg
--------------------------------------------------------------------------------
/public/app/img/case6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case6.jpg
--------------------------------------------------------------------------------
/public/app/img/case7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case7.jpg
--------------------------------------------------------------------------------
/public/app/img/case8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/case8.jpg
--------------------------------------------------------------------------------
/public/app/img/post1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post1.jpg
--------------------------------------------------------------------------------
/public/app/img/post2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post2.jpg
--------------------------------------------------------------------------------
/public/app/img/post3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post3.jpg
--------------------------------------------------------------------------------
/public/app/img/post4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post4.jpg
--------------------------------------------------------------------------------
/public/app/img/visa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/visa.png
--------------------------------------------------------------------------------
/public/app/img/404-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/404-img.png
--------------------------------------------------------------------------------
/public/app/img/analysis.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/analysis.jpg
--------------------------------------------------------------------------------
/public/app/img/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar.png
--------------------------------------------------------------------------------
/public/app/img/avatar1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar1.png
--------------------------------------------------------------------------------
/public/app/img/avatar2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar2.png
--------------------------------------------------------------------------------
/public/app/img/avatar3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar3.png
--------------------------------------------------------------------------------
/public/app/img/avatar4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar4.png
--------------------------------------------------------------------------------
/public/app/img/avatar5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar5.png
--------------------------------------------------------------------------------
/public/app/img/avatar6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar6.png
--------------------------------------------------------------------------------
/public/app/img/avatar7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar7.png
--------------------------------------------------------------------------------
/public/app/img/avatar9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar9.png
--------------------------------------------------------------------------------
/public/app/img/contact4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact4.png
--------------------------------------------------------------------------------
/public/app/img/contact5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact5.png
--------------------------------------------------------------------------------
/public/app/img/contact6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact6.png
--------------------------------------------------------------------------------
/public/app/img/contact7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact7.png
--------------------------------------------------------------------------------
/public/app/img/contact8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact8.png
--------------------------------------------------------------------------------
/public/app/img/contact9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/contact9.png
--------------------------------------------------------------------------------
/public/app/img/discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/discover.png
--------------------------------------------------------------------------------
/public/app/img/elements.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/elements.png
--------------------------------------------------------------------------------
/public/app/img/logo-eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/logo-eye.png
--------------------------------------------------------------------------------
/public/app/img/mac-book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/mac-book.png
--------------------------------------------------------------------------------
/public/app/img/menu-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/menu-bg.png
--------------------------------------------------------------------------------
/public/app/img/offers1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/offers1.png
--------------------------------------------------------------------------------
/public/app/img/pay-pal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pay-pal.png
--------------------------------------------------------------------------------
/public/app/img/pricing1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pricing1.png
--------------------------------------------------------------------------------
/public/app/img/pricing2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pricing2.png
--------------------------------------------------------------------------------
/public/app/img/pricing3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pricing3.png
--------------------------------------------------------------------------------
/public/app/img/profit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/profit.png
--------------------------------------------------------------------------------
/public/app/img/request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/request.png
--------------------------------------------------------------------------------
/public/app/img/slider1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider1.png
--------------------------------------------------------------------------------
/public/app/img/slider2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider2.png
--------------------------------------------------------------------------------
/public/app/img/slider3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider3.png
--------------------------------------------------------------------------------
/public/app/img/slider4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider4.png
--------------------------------------------------------------------------------
/public/app/img/slider5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider5.png
--------------------------------------------------------------------------------
/public/app/img/subscr1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/subscr1.png
--------------------------------------------------------------------------------
/public/app/img/video2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/video2.png
--------------------------------------------------------------------------------
/public/app/img/avatar-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar-bg.png
--------------------------------------------------------------------------------
/public/app/img/features1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features1.png
--------------------------------------------------------------------------------
/public/app/img/features2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features2.png
--------------------------------------------------------------------------------
/public/app/img/features3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features3.png
--------------------------------------------------------------------------------
/public/app/img/features4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features4.png
--------------------------------------------------------------------------------
/public/app/img/features5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features5.png
--------------------------------------------------------------------------------
/public/app/img/features6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/features6.png
--------------------------------------------------------------------------------
/public/app/img/info-box1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box1.png
--------------------------------------------------------------------------------
/public/app/img/info-box10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box10.png
--------------------------------------------------------------------------------
/public/app/img/info-box11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box11.png
--------------------------------------------------------------------------------
/public/app/img/info-box12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box12.png
--------------------------------------------------------------------------------
/public/app/img/info-box13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box13.png
--------------------------------------------------------------------------------
/public/app/img/info-box14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box14.png
--------------------------------------------------------------------------------
/public/app/img/info-box15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box15.png
--------------------------------------------------------------------------------
/public/app/img/info-box16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box16.png
--------------------------------------------------------------------------------
/public/app/img/info-box17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box17.png
--------------------------------------------------------------------------------
/public/app/img/info-box18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box18.png
--------------------------------------------------------------------------------
/public/app/img/info-box19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box19.png
--------------------------------------------------------------------------------
/public/app/img/info-box2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box2.png
--------------------------------------------------------------------------------
/public/app/img/info-box20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box20.png
--------------------------------------------------------------------------------
/public/app/img/info-box21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box21.png
--------------------------------------------------------------------------------
/public/app/img/info-box22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box22.png
--------------------------------------------------------------------------------
/public/app/img/info-box23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box23.png
--------------------------------------------------------------------------------
/public/app/img/info-box24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box24.png
--------------------------------------------------------------------------------
/public/app/img/info-box25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box25.png
--------------------------------------------------------------------------------
/public/app/img/info-box26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box26.png
--------------------------------------------------------------------------------
/public/app/img/info-box27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box27.png
--------------------------------------------------------------------------------
/public/app/img/info-box28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box28.png
--------------------------------------------------------------------------------
/public/app/img/info-box3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box3.png
--------------------------------------------------------------------------------
/public/app/img/info-box4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box4.png
--------------------------------------------------------------------------------
/public/app/img/info-box5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box5.png
--------------------------------------------------------------------------------
/public/app/img/info-box6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box6.png
--------------------------------------------------------------------------------
/public/app/img/info-box7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box7.png
--------------------------------------------------------------------------------
/public/app/img/info-box8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box8.png
--------------------------------------------------------------------------------
/public/app/img/info-box9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/info-box9.png
--------------------------------------------------------------------------------
/public/app/img/local-seo1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/local-seo1.jpg
--------------------------------------------------------------------------------
/public/app/img/local-seo2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/local-seo2.jpg
--------------------------------------------------------------------------------
/public/app/img/local-seo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/local-seo3.jpg
--------------------------------------------------------------------------------
/public/app/img/marketing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/marketing.png
--------------------------------------------------------------------------------
/public/app/img/mastercard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/mastercard.png
--------------------------------------------------------------------------------
/public/app/img/mountain1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/mountain1.png
--------------------------------------------------------------------------------
/public/app/img/mountain2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/mountain2.png
--------------------------------------------------------------------------------
/public/app/img/seoscore1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/seoscore1.png
--------------------------------------------------------------------------------
/public/app/img/seoscore2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/seoscore2.png
--------------------------------------------------------------------------------
/public/app/img/seoscore3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/seoscore3.png
--------------------------------------------------------------------------------
/public/app/img/services1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/services1.png
--------------------------------------------------------------------------------
/public/app/img/services2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/services2.png
--------------------------------------------------------------------------------
/public/app/img/services3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/services3.png
--------------------------------------------------------------------------------
/public/app/img/services4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/services4.png
--------------------------------------------------------------------------------
/public/app/img/services5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/services5.png
--------------------------------------------------------------------------------
/public/app/img/solutions.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/solutions.jpg
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-blue.jpg
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-dark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-dark.jpg
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-red.jpg
--------------------------------------------------------------------------------
/public/app/img/blog-details.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/blog-details.jpg
--------------------------------------------------------------------------------
/public/app/img/cart-product4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/cart-product4.png
--------------------------------------------------------------------------------
/public/app/img/cart-product5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/cart-product5.png
--------------------------------------------------------------------------------
/public/app/img/cart-product6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/cart-product6.png
--------------------------------------------------------------------------------
/public/app/img/client-white1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white1.png
--------------------------------------------------------------------------------
/public/app/img/client-white2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white2.png
--------------------------------------------------------------------------------
/public/app/img/client-white3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white3.png
--------------------------------------------------------------------------------
/public/app/img/client-white4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white4.png
--------------------------------------------------------------------------------
/public/app/img/client-white5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white5.png
--------------------------------------------------------------------------------
/public/app/img/client-white6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client-white6.png
--------------------------------------------------------------------------------
/public/app/img/client1-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client1-hover.png
--------------------------------------------------------------------------------
/public/app/img/client2-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client2-hover.png
--------------------------------------------------------------------------------
/public/app/img/client3-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client3-hover.png
--------------------------------------------------------------------------------
/public/app/img/client4-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client4-hover.png
--------------------------------------------------------------------------------
/public/app/img/client5-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client5-hover.png
--------------------------------------------------------------------------------
/public/app/img/client6-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/client6-hover.png
--------------------------------------------------------------------------------
/public/app/img/description1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/description1.jpg
--------------------------------------------------------------------------------
/public/app/img/google-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/google-logo.png
--------------------------------------------------------------------------------
/public/app/img/post-author1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post-author1.png
--------------------------------------------------------------------------------
/public/app/img/post-author2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post-author2.png
--------------------------------------------------------------------------------
/public/app/img/post-author3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/post-author3.png
--------------------------------------------------------------------------------
/public/app/img/pricing-dots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pricing-dots.png
--------------------------------------------------------------------------------
/public/app/img/results-ver2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/results-ver2.png
--------------------------------------------------------------------------------
/public/app/img/seo-analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/seo-analysis.png
--------------------------------------------------------------------------------
/public/app/img/slider-photo1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider-photo1.jpg
--------------------------------------------------------------------------------
/public/app/img/slider-photo2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider-photo2.jpg
--------------------------------------------------------------------------------
/public/app/img/slider-photo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider-photo3.jpg
--------------------------------------------------------------------------------
/public/app/img/slider-photo4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider-photo4.jpg
--------------------------------------------------------------------------------
/public/app/img/slider-photo5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/slider-photo5.jpg
--------------------------------------------------------------------------------
/public/app/img/social-photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/social-photo.png
--------------------------------------------------------------------------------
/public/app/img/social-photo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/social-photo2.png
--------------------------------------------------------------------------------
/public/app/img/subscr-gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/subscr-gear.png
--------------------------------------------------------------------------------
/public/app/img/teammember1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/teammember1.png
--------------------------------------------------------------------------------
/public/app/img/teammember2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/teammember2.png
--------------------------------------------------------------------------------
/public/app/img/teammember3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/teammember3.png
--------------------------------------------------------------------------------
/public/app/img/teammember4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/teammember4.png
--------------------------------------------------------------------------------
/public/app/img/testimonial1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/testimonial1.png
--------------------------------------------------------------------------------
/public/app/img/testimonial2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/testimonial2.png
--------------------------------------------------------------------------------
/public/app/img/video-format.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/video-format.png
--------------------------------------------------------------------------------
/public/app/fonts/seosightbe82.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/seosightbe82.ttf
--------------------------------------------------------------------------------
/public/app/fonts/seosightbe82.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/seosightbe82.woff
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-black.jpg
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-light.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-light.jpg
--------------------------------------------------------------------------------
/public/app/img/description-mac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/description-mac.png
--------------------------------------------------------------------------------
/public/app/img/load-more-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/load-more-arrow.png
--------------------------------------------------------------------------------
/public/app/img/load-more-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/load-more-line.png
--------------------------------------------------------------------------------
/public/app/img/local-seo-main.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/local-seo-main.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-blue.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-gray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-gray.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-lime.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-lime.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-red.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-rose.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-rose.jpg
--------------------------------------------------------------------------------
/public/app/img/photo-elements1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/photo-elements1.jpg
--------------------------------------------------------------------------------
/public/app/img/photo-elements2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/photo-elements2.jpg
--------------------------------------------------------------------------------
/public/app/img/photo-elements3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/photo-elements3.jpg
--------------------------------------------------------------------------------
/public/app/img/photo-elements4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/photo-elements4.jpg
--------------------------------------------------------------------------------
/public/app/img/photo-elements5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/photo-elements5.jpg
--------------------------------------------------------------------------------
/public/app/img/product-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/product-details.png
--------------------------------------------------------------------------------
/public/app/img/reviews-avatar1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/reviews-avatar1.png
--------------------------------------------------------------------------------
/public/app/img/reviews-avatar2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/reviews-avatar2.png
--------------------------------------------------------------------------------
/public/app/img/reviews-avatar3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/reviews-avatar3.png
--------------------------------------------------------------------------------
/public/app/img/subscr-mailopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/subscr-mailopen.png
--------------------------------------------------------------------------------
/public/app/img/time-line-thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/time-line-thumb.png
--------------------------------------------------------------------------------
/public/app/img/avatar-b-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/avatar-b-details.png
--------------------------------------------------------------------------------
/public/app/img/background-element.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/background-element.png
--------------------------------------------------------------------------------
/public/app/img/bg-boxed-primary.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/bg-boxed-primary.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-breez.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-breez.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-brown.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-brown.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-green.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-olive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-olive.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-orange.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-violet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-violet.jpg
--------------------------------------------------------------------------------
/public/app/img/product-solution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/product-solution.png
--------------------------------------------------------------------------------
/public/app/img/blog-details-author.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/blog-details-author.png
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-lightblue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-lightblue.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-lightgray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-lightgray.jpg
--------------------------------------------------------------------------------
/public/app/img/testimonial-author1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/testimonial-author1.jpg
--------------------------------------------------------------------------------
/public/app/img/testimonial-author2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/testimonial-author2.jpg
--------------------------------------------------------------------------------
/public/app/img/pattern-bg-lightviolet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/pattern-bg-lightviolet.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo1.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo2.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo3.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo4.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo5.jpg
--------------------------------------------------------------------------------
/public/app/img/stunning-header-photo6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/img/stunning-header-photo6.jpg
--------------------------------------------------------------------------------
/public/app/fonts/fontawesome-webfont3295.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/fontawesome-webfont3295.eot
--------------------------------------------------------------------------------
/public/app/fonts/fontawesome-webfont3295.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/fontawesome-webfont3295.ttf
--------------------------------------------------------------------------------
/public/app/fonts/fontawesome-webfontd41d.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/fontawesome-webfontd41d.eot
--------------------------------------------------------------------------------
/public/app/fonts/fontawesome-webfont3295.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/fontawesome-webfont3295.woff
--------------------------------------------------------------------------------
/public/app/fonts/fontawesome-webfont3295.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/theafaid/Engr/HEAD/public/app/fonts/fontawesome-webfont3295.woff2
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 | *.js linguist-vendored
5 | CHANGELOG.md export-ignore
6 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/app/Setting.php:
--------------------------------------------------------------------------------
1 |
3 | @include('layouts.navbar')
4 | @yield('content')
5 | @include('layouts.partials.subscribe_form')
6 |
7 | @include('layouts.footer');
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /public/hot
3 | /public/storage
4 | /storage/*.key
5 | /vendor
6 | /.idea
7 | /.vscode
8 | /.vagrant
9 | Homestead.json
10 | Homestead.yaml
11 | npm-debug.log
12 | yarn-error.log
13 | .env
14 | .phpunit.result.cache
15 |
--------------------------------------------------------------------------------
/app/Http/helper.php:
--------------------------------------------------------------------------------
1 | hasFile($file)){
7 | return request()->file($file)->store($place);
8 | }
9 | return null;
10 | }
11 | }
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | insert_final_newline = true
7 | indent_style = space
8 | indent_size = 4
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
14 | [*.yml]
15 | indent_size = 2
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Engr
2 | Engr is a simple blog application for sharing informations & knowledge between engineers .
3 | it created using Php(Laravel)
4 |
5 | How to use Engr ?
6 |
7 | * Download the project
8 | * Run composer install
9 | * Configure the .env file
10 | * You are done :)
11 |
--------------------------------------------------------------------------------
/app/Http/Controllers/TagsController.php:
--------------------------------------------------------------------------------
1 | $tag->name,
12 | 'posts' => $tag->posts
13 | ]);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/resources/sass/app.scss:
--------------------------------------------------------------------------------
1 |
2 | // Fonts
3 | @import url('https://fonts.googleapis.com/css?family=Nunito');
4 |
5 | // Variables
6 | @import 'variables';
7 |
8 | // Bootstrap
9 | @import '~bootstrap/scss/bootstrap';
10 |
11 | .navbar-laravel {
12 | background-color: #fff;
13 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
14 | }
15 |
--------------------------------------------------------------------------------
/app/Http/Controllers/FrontendController.php:
--------------------------------------------------------------------------------
1 | \App\Post::withoutGlobalScope('user')->latest()->take(3)->get()
10 | ]);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/app/Tag.php:
--------------------------------------------------------------------------------
1 | belongsToMany('App\Post');
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/public/app/css/mCSB_buttons.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | The requested URL /html-seosight/css/mCSB_buttons.png was not found on this server.
7 | No Categories Yet! you cannot create any until you create at least one category
38 |
39 | @endif
40 | @endsection
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ResetPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | user()->admin;
18 | });
19 |
20 | \View::composer("*", function($view){
21 | $settings = \Cache::rememberForever("settings", function(){
22 | return \App\Setting::first();
23 | });
24 |
25 | $categories = \Cache::rememberForever("categories", function(){
26 | return \App\Category::all();
27 | });
28 | return $view->with('settings', $settings)->with('categories', $categories);
29 | });
30 |
31 | \Schema::defaultStringLength(191);
32 | }
33 |
34 | /**
35 | * Register any application services.
36 | *
37 | * @return void
38 | */
39 | public function register()
40 | {
41 | //
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/public/app/svg/rss.svg:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 |
21 | @if(count($posts))
22 |
23 | @foreach($posts as $post)
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | @endforeach
33 |
34 | @else
35 |
We Can't found any matches for "{{ $name }}"
36 | @endif
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | @endsection
--------------------------------------------------------------------------------
/resources/views/layouts/header.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Engr.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/resources/views/layouts/partials/subscribe_form.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
31 |
32 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/admin/users/profile.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.app')
2 | @section('content')
3 |
52 | @endsection
--------------------------------------------------------------------------------
/app/User.php:
--------------------------------------------------------------------------------
1 | profile()->create(['user_id' => $user->id]);
29 | });
30 | static::deleting(function($user){
31 | // delete user posts
32 | $user->posts->each->delete();
33 | // delete user profile
34 | $user->profile->delete();
35 | });
36 | }
37 |
38 | /**
39 | * The attributes that should be hidden for arrays.
40 | *
41 | * @var array
42 | */
43 | protected $hidden = [
44 | 'password', 'remember_token',
45 | ];
46 |
47 | /**
48 | * @return \Illuminate\Database\Eloquent\Relations\HasOne
49 | */
50 | public function profile(){
51 | return $this->hasOne('App\Profile');
52 | }
53 |
54 | /**
55 | * @return string
56 | */
57 | public function image(){
58 | $value = $this->profile->avatar;
59 | if(filter_var($value, FILTER_VALIDATE_URL) !== false) return $value; // image is link
60 | return $value ? "/storage/{$value}" : "/design/user.jpg";
61 | }
62 |
63 | /**
64 | * @return \Illuminate\Database\Eloquent\Relations\HasMany
65 | */
66 | public function posts(){
67 | return $this->hasMany('App\Post');
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "laravel/laravel",
3 | "description": "The Laravel Framework.",
4 | "keywords": ["framework", "laravel"],
5 | "license": "MIT",
6 | "type": "project",
7 | "require": {
8 | "php": "^7.1.3",
9 | "fideloper/proxy": "^4.0",
10 | "laravel/framework": "5.7.*",
11 | "laravel/tinker": "^1.0",
12 | "spatie/laravel-newsletter": "^4.2"
13 | },
14 | "require-dev": {
15 | "beyondcode/laravel-dump-server": "^1.0",
16 | "filp/whoops": "^2.0",
17 | "fzaninotto/faker": "^1.4",
18 | "mockery/mockery": "^1.0",
19 | "nunomaduro/collision": "^2.0",
20 | "phpunit/phpunit": "^7.0"
21 | },
22 | "autoload": {
23 | "classmap": [
24 | "database/seeds",
25 | "database/factories"
26 | ],
27 |
28 | "files": [
29 | "app/http/helper.php"
30 | ],
31 |
32 | "psr-4": {
33 | "App\\": "app/"
34 | }
35 | },
36 | "autoload-dev": {
37 | "psr-4": {
38 | "Tests\\": "tests/"
39 | }
40 | },
41 | "extra": {
42 | "laravel": {
43 | "dont-discover": [
44 | ]
45 | }
46 | },
47 | "scripts": {
48 | "post-root-package-install": [
49 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
50 | ],
51 | "post-create-project-cmd": [
52 | "@php artisan key:generate --ansi"
53 | ],
54 | "post-autoload-dump": [
55 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
56 | "@php artisan package:discover --ansi"
57 | ]
58 | },
59 | "config": {
60 | "preferred-install": "dist",
61 | "sort-packages": true,
62 | "optimize-autoloader": true
63 | },
64 | "minimum-stability": "dev",
65 | "prefer-stable": true
66 | }
67 |
--------------------------------------------------------------------------------
/resources/js/bootstrap.js:
--------------------------------------------------------------------------------
1 |
2 | // window._ = require('lodash');
3 | // window.Popper = require('popper.js').default;
4 |
5 | /**
6 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support
7 | * for JavaScript based Bootstrap features such as modals and tabs. This
8 | * code may be modified to fit the specific needs of your application.
9 | */
10 |
11 | try {
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/admin/posts/edit.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.app')
2 | @section('content')
3 |
4 |
5 |
6 |
7 |
8 | @csrf
9 | {{ method_field('PATCH') }}
10 |
11 | Post Title
12 |
13 |
14 |
15 |
16 | Post Content
17 | {{ $post->body }}
18 |
19 |
20 |
21 | Category
22 |
23 | @foreach($categories as $category)
24 | id == $post->category_id ) selected @endif>
26 | {{ $category->name }}
27 |
28 | @endforeach
29 |
30 |
31 |
32 |
33 |
49 |
50 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | @endsection
--------------------------------------------------------------------------------
/public/app/svg/video-control.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/views/admin/posts/create.blade.php:
--------------------------------------------------------------------------------
1 | @extends('admin.layouts.app')
2 | @push('css')
3 |
4 |
5 |
6 |
7 | @endpush
8 |
9 | @push('js')
10 |
11 |
12 | @endpush
13 | @section('content')
14 |
61 | @endsection
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\Category::class, function (Faker $faker) {
17 | $name = $faker->word;
18 | return [
19 | 'name' => $faker->name,
20 | 'slug' => $faker->name
21 | ];
22 | });
23 |
24 | $factory->define(App\Post::class, function (Faker $faker) {
25 | $sentence = $faker->sentence;
26 | return [
27 | 'title' => $sentence,
28 | 'slug' => $sentence,
29 | 'body' => $faker->paragraph. $faker->paragraph.$faker->paragraph.$faker->paragraph. $faker->paragraph.$faker->paragraph,
30 | 'category_id' => function(){return \App\Category::all()->random();},
31 | 'user_id' => function(){return \App\User::all()->random();}
32 | ];
33 | });
34 |
35 | $factory->define(App\Tag::class, function (Faker $faker) {
36 | return [
37 | 'name' => $faker->word
38 | ];
39 | });
40 |
41 | $factory->define(App\User::class, function (Faker $faker) {
42 | return [
43 | 'name' => 'user',
44 | 'email' => 'user@user.com',
45 | 'email_verified_at' => now(),
46 | 'password' => bcrypt('useruser'),
47 | 'admin' => true,
48 | 'remember_token' => str_random(10),
49 | ];
50 | });
51 |
52 |
53 | $factory->define(App\Setting::class, function (Faker $faker) {
54 | return [
55 | 'site_name' => 'Engr.',
56 | 'contact_number' => '01007569739',
57 | 'contact_email' => 'abdulrahmanfaid11@gmail.com',
58 | 'address' => 'Egypt, Cairo', // secret,
59 | 'about' => $faker->paragraph
60 | ];
61 | });
62 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/routes/web.php:
--------------------------------------------------------------------------------
1 | name('tag.index');
21 | Route::get('/search', 'SearchController@get');
22 | Auth::routes();
23 |
24 | Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function(){
25 | Route::get('/', 'HomeController@index')->name('home');
26 | Route::get('/profile', 'ProfilesController@index')->name('profile');
27 | Route::patch('/profile', 'ProfilesController@update')->name('profile.update');
28 |
29 | // ************* Admin Routes **************** //
30 | Route::group(['middleware' => 'admin'], function(){
31 | Route::resource('/categories', 'Admin\CategoriesController');
32 | Route::resource('/tags', 'Admin\TagsController');
33 | Route::resource('/users', 'Admin\UsersController');
34 | Route::patch('/users/{user}/admin', 'Admin\UsersController@admin')->name('users.admin');
35 | Route::get('/settings', 'Admin\SettingsController@index')->name('settings');
36 | Route::patch('/settings', 'Admin\SettingsController@update')->name('settings.update');
37 | });
38 | // ************ Supervisor Routes ********** //
39 | Route::resource('/posts', 'PostsController');
40 | Route::get('/posts/get/trashed', 'PostsController@trashed')->name('posts.trashed');
41 | Route::post('/posts/restore/{slug}', 'PostsController@restore')->name('posts.restore');
42 | Route::delete('/posts/kill/{slug}', 'PostsController@kill')->name('posts.kill');
43 | });
44 |
--------------------------------------------------------------------------------
/resources/views/auth/passwords/email.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | @if (session('status'))
12 |
13 | {{ session('status') }}
14 |
15 | @endif
16 |
17 |
18 | @csrf
19 |
20 |
33 |
34 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | @endsection
48 |
--------------------------------------------------------------------------------
/app/Post.php:
--------------------------------------------------------------------------------
1 | with('user');
18 | });
19 |
20 | static::addGlobalScope('category', function($builder){
21 | return $builder->with('category');
22 | });
23 | }
24 |
25 | public function getRouteKeyName(){
26 | return 'slug';
27 | }
28 |
29 | public function path(){
30 | return "/category/{$this->category->slug}/posts/{$this->slug}";
31 | }
32 | public function category(){
33 | return $this->belongsTo('App\Category');
34 | }
35 |
36 | public function user(){
37 | return $this->belongsTo('App\User');
38 | }
39 |
40 | public function tags(){
41 | return $this->belongsToMany('App\Tag');
42 | }
43 |
44 | public function setSlugAttribute($value){
45 | if(static::whereSlug($slug = str_slug($value))->exists()){
46 | $this->attributes['slug'] = $slug . "_" . time();
47 | return ;
48 | }
49 |
50 | $this->attributes['slug'] = $slug;
51 | }
52 |
53 | public function getCreatedAtAttribute($value){
54 | return \Carbon\Carbon::createFromFormat("Y-m-d H:i:s", $value)->diffForHumans();
55 | }
56 |
57 | public function image(){
58 | $value = $this->image;
59 | if(filter_var($value, FILTER_VALIDATE_URL) !== false) return $value;
60 | return $value ? "/storage/{$value}" : "/design/post.jpg";
61 | }
62 |
63 | public function uploadImage($fileName, $type = 'store'){
64 | $type == 'update' ? Storage::delete($this->image) : '';
65 | return request()->file($fileName)->store('posts');
66 | }
67 |
68 | public function recordVisit(){
69 | $this->increment('views');
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/app/Http/Controllers/ProfilesController.php:
--------------------------------------------------------------------------------
1 | auth()->user()]);
17 | }
18 |
19 | /**
20 | * Update the specified resource in storage.
21 | *
22 | * @param \Illuminate\Http\Request $request
23 | * @param int $id
24 | * @return \Illuminate\Http\Response
25 | */
26 | public function update()
27 | {
28 | // validate form
29 | $data = request()->validate([
30 | 'name' => 'required|string|max:255',
31 | 'email' => 'required|string|email|max:255|unique:users,email,'.auth()->id(),
32 | 'avatar' => 'sometimes|nullable|image|mimes:jpg,jpeg,png',
33 | 'facebook' => 'sometimes|nullable|string|url|max:255',
34 | 'youtube' => 'sometimes|nullable|string|url|max:255',
35 | 'about' => 'sometimes|nullable|string|max:1000',
36 | 'password' => 'sometimes|nullable|string|min:6|max:255',
37 | ]);
38 |
39 | if(request()->hasFile('avatar')){
40 | // remove old image
41 | Storage::delete(auth()->user()->profile->avatar);
42 | }
43 |
44 | // update user data
45 | auth()->user()->update([
46 | 'name' => request('name'),
47 | 'email' => request('email'),
48 | 'password' => request()->has('password') ? bcrypt(request('password')) : auth()->user()->password
49 | ]);
50 |
51 | // update user profile
52 | auth()->user()->profile()->update([
53 | 'avatar' => up()->upload('avatar', 'users'),
54 | 'facebook' => request('facebook'),
55 | 'youtube' => request('youtube'),
56 | 'about' => request('about')
57 | ]);
58 |
59 | // success
60 | session()->flash('success', 'Your Profile Updated Successfully');
61 | return back();
62 | }
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/resources/views/layouts/navbar.blade.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/UsersController.php:
--------------------------------------------------------------------------------
1 | get();
15 | return view('admin.users.index', ['users' => $users]);
16 | }
17 |
18 | /**
19 | * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
20 | */
21 | public function store(){
22 | // validate form
23 | $data = request()->validate([
24 | 'name' => 'required|string|max:255',
25 | 'email' => 'required|string|email|max:255|unique:users,email',
26 | 'password' => 'required|string|max:255|min:6'
27 | ]);
28 |
29 | $data['password'] = bcrypt($data['password']);
30 | // create user
31 | $user = User::create($data);
32 |
33 | //success create
34 | session()->flash('success', 'User Created Successfully');
35 |
36 | // redirect to users page
37 | return redirect(route('users.index'));
38 | }
39 |
40 | /**
41 | * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
42 | * show create user form
43 | */
44 | public function create(){
45 | return view('admin.users.create');
46 | }
47 |
48 | /**
49 | * @param User $user
50 | * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
51 | * make a user and admin or remove admin privileges
52 | */
53 | public function admin(User $user){
54 | // update admin field
55 | $user->admin = ! $user->admin;
56 | $user->save();
57 | // success
58 | session()->flash('success', "Admin Privileges has been edited!");
59 | // redirect to users page
60 | return redirect(route('users.index'));
61 | }
62 |
63 | public function destroy(User $user){
64 | // delete user
65 | $user->delete();
66 | // success
67 | session()->flash('success', 'User Deleted Sucessfully');
68 | // redirect to users page
69 | return redirect(route('users.index'));
70 |
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/public/app/svg/google.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
12 |
13 |
19 |
20 |
23 |
24 |
25 |
27 |
28 |
29 |
31 |
32 |
33 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/config/filesystems.php:
--------------------------------------------------------------------------------
1 | env('FILESYSTEM_DRIVER', 'local'),
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/category.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {{ count($posts) }}
23 |
24 | @foreach($posts as $post)
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | @endforeach
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | @endsection
--------------------------------------------------------------------------------
/public/app/js/ajax-pagination.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 |
3 | var $button = $('#load-more-button');
4 |
5 | var page_num = 1;
6 | var max_pages = 3;
7 | var next_link = $button.data('load-link');
8 |
9 | var loaded_text = 'That\'s all';
10 |
11 | var containerID = $button.data('container');
12 |
13 | var $container = $('#' + containerID );
14 | var container_has_isotope = false;
15 |
16 |
17 | if (page_num > max_pages) {
18 | $button.addClass('last-page').children('span').text(loaded_text);
19 | }
20 |
21 | $button.on('click', function () {
22 |
23 | if (page_num <= max_pages && !$(this).hasClass('loading') && !$(this).hasClass('last-page')) {
24 |
25 | $.ajax({
26 | type: 'GET',
27 | url: next_link,
28 | dataType: 'html',
29 | beforeSend: function () {
30 | $button.addClass('loading');
31 | },
32 | complete: function (XMLHttpRequest) {
33 | $button.removeClass('loading');
34 | if (XMLHttpRequest.status == 200 && XMLHttpRequest.responseText != '') {
35 |
36 | page_num++;
37 |
38 | if (page_num > max_pages) {
39 | $button.addClass('last-page').children('.load-more-text').text(loaded_text);
40 | }
41 |
42 | if ($(XMLHttpRequest.responseText).length > 0) {
43 | container_has_isotope = (typeof($container.isotope) === 'function');
44 | $(XMLHttpRequest.responseText).children().each(function () {
45 | var elem = $(this);
46 | if (!container_has_isotope) {
47 | elem.css('opacity',0);
48 | $container.append(elem);
49 | elem.addClass('animate');
50 | } else {
51 | $container.append( elem )
52 | .isotope( 'appended', elem )
53 | .isotope('layout');
54 | $container.imagesLoaded(function () {
55 | $container.isotope('layout');
56 | });
57 | }
58 |
59 | });
60 | }
61 | }
62 | }
63 | });
64 | }
65 | return false;
66 | });
67 | });
68 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/TagsController.php:
--------------------------------------------------------------------------------
1 | validate([
39 | 'name' => 'required|string|unique:tags,name|max:255'
40 | ]);
41 | Tag::create($data);
42 | session()->flash('success', 'Tag Created Successfully');
43 | return redirect(route('tags.index'));
44 | }
45 |
46 | /**
47 | * Display the specified resource.
48 | *
49 | * @param int $id
50 | * @return \Illuminate\Http\Response
51 | */
52 | public function show($id)
53 | {
54 | //
55 | }
56 |
57 | /**
58 | * Show the form for editing the specified resource.
59 | *
60 | * @param int $id
61 | * @return \Illuminate\Http\Response
62 | */
63 | public function edit(Tag $tag)
64 | {
65 | return view('admin.tags.edit', compact('tag'));
66 | }
67 |
68 | /**
69 | * Update the specified resource in storage.
70 | *
71 | * @param \Illuminate\Http\Request $request
72 | * @param int $id
73 | * @return \Illuminate\Http\Response
74 | */
75 | public function update(Tag $tag)
76 | {
77 | $data = request()->validate([
78 | 'name' => 'required|string|max:255|unique:tags,name,'.$tag->id
79 | ]);
80 |
81 | Tag::where('slug', $tag->name)->update($data);
82 | session()->flash('success', 'Tag Updated Successfully');
83 | return redirect(route('tags.index'));
84 | }
85 |
86 | /**
87 | * Remove the specified resource from storage.
88 | *
89 | * @param int $id
90 | * @return \Illuminate\Http\Response
91 | */
92 | public function destroy(Tag $tag)
93 | {
94 | $tag->delete();
95 | session()->flash('success', 'Tag Deleted Successfully');
96 | return redirect(route('tags.index'));
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/config/logging.php:
--------------------------------------------------------------------------------
1 | env('LOG_CHANNEL', 'stack'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Log Channels
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may configure the log channels for your application. Out of
27 | | the box, Laravel uses the Monolog PHP logging library. This gives
28 | | you a variety of powerful log handlers / formatters to utilize.
29 | |
30 | | Available Drivers: "single", "daily", "slack", "syslog",
31 | | "errorlog", "monolog",
32 | | "custom", "stack"
33 | |
34 | */
35 |
36 | 'channels' => [
37 | 'stack' => [
38 | 'driver' => 'stack',
39 | 'channels' => ['daily'],
40 | ],
41 |
42 | 'single' => [
43 | 'driver' => 'single',
44 | 'path' => storage_path('logs/laravel.log'),
45 | 'level' => 'debug',
46 | ],
47 |
48 | 'daily' => [
49 | 'driver' => 'daily',
50 | 'path' => storage_path('logs/laravel.log'),
51 | 'level' => 'debug',
52 | 'days' => 14,
53 | ],
54 |
55 | 'slack' => [
56 | 'driver' => 'slack',
57 | 'url' => env('LOG_SLACK_WEBHOOK_URL'),
58 | 'username' => 'Laravel Log',
59 | 'emoji' => ':boom:',
60 | 'level' => 'critical',
61 | ],
62 |
63 | 'papertrail' => [
64 | 'driver' => 'monolog',
65 | 'level' => 'debug',
66 | 'handler' => SyslogUdpHandler::class,
67 | 'handler_with' => [
68 | 'host' => env('PAPERTRAIL_URL'),
69 | 'port' => env('PAPERTRAIL_PORT'),
70 | ],
71 | ],
72 |
73 | 'stderr' => [
74 | 'driver' => 'monolog',
75 | 'handler' => StreamHandler::class,
76 | 'with' => [
77 | 'stream' => 'php://stderr',
78 | ],
79 | ],
80 |
81 | 'syslog' => [
82 | 'driver' => 'syslog',
83 | 'level' => 'debug',
84 | ],
85 |
86 | 'errorlog' => [
87 | 'driver' => 'errorlog',
88 | 'level' => 'debug',
89 | ],
90 | ],
91 |
92 | ];
93 |
--------------------------------------------------------------------------------
/config/queue.php:
--------------------------------------------------------------------------------
1 | env('QUEUE_CONNECTION', 'sync'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Queue Connections
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may configure the connection information for each server that
24 | | is used by your application. A default configuration has been added
25 | | for each back-end shipped with Laravel. You are free to add more.
26 | |
27 | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
28 | |
29 | */
30 |
31 | 'connections' => [
32 |
33 | 'sync' => [
34 | 'driver' => 'sync',
35 | ],
36 |
37 | 'database' => [
38 | 'driver' => 'database',
39 | 'table' => 'jobs',
40 | 'queue' => 'default',
41 | 'retry_after' => 90,
42 | ],
43 |
44 | 'beanstalkd' => [
45 | 'driver' => 'beanstalkd',
46 | 'host' => 'localhost',
47 | 'queue' => 'default',
48 | 'retry_after' => 90,
49 | ],
50 |
51 | 'sqs' => [
52 | 'driver' => 'sqs',
53 | 'key' => env('SQS_KEY', 'your-public-key'),
54 | 'secret' => env('SQS_SECRET', 'your-secret-key'),
55 | 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
56 | 'queue' => env('SQS_QUEUE', 'your-queue-name'),
57 | 'region' => env('SQS_REGION', 'us-east-1'),
58 | ],
59 |
60 | 'redis' => [
61 | 'driver' => 'redis',
62 | 'connection' => 'default',
63 | 'queue' => 'default',
64 | 'retry_after' => 90,
65 | 'block_for' => null,
66 | ],
67 |
68 | ],
69 |
70 | /*
71 | |--------------------------------------------------------------------------
72 | | Failed Queue Jobs
73 | |--------------------------------------------------------------------------
74 | |
75 | | These options configure the behavior of failed queue job logging so you
76 | | can control which database and table are used to store the jobs that
77 | | have failed. You may change them to any database / table you wish.
78 | |
79 | */
80 |
81 | 'failed' => [
82 | 'database' => env('DB_CONNECTION', 'mysql'),
83 | 'table' => 'failed_jobs',
84 | ],
85 |
86 | ];
87 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
21 |
22 | /*
23 | |--------------------------------------------------------------------------
24 | | Cache Stores
25 | |--------------------------------------------------------------------------
26 | |
27 | | Here you may define all of the cache "stores" for your application as
28 | | well as their drivers. You may even define multiple stores for the
29 | | same cache driver to group types of items stored in your caches.
30 | |
31 | */
32 |
33 | 'stores' => [
34 |
35 | 'apc' => [
36 | 'driver' => 'apc',
37 | ],
38 |
39 | 'array' => [
40 | 'driver' => 'array',
41 | ],
42 |
43 | 'database' => [
44 | 'driver' => 'database',
45 | 'table' => 'cache',
46 | 'connection' => null,
47 | ],
48 |
49 | 'file' => [
50 | 'driver' => 'file',
51 | 'path' => storage_path('framework/cache/data'),
52 | ],
53 |
54 | 'memcached' => [
55 | 'driver' => 'memcached',
56 | 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
57 | 'sasl' => [
58 | env('MEMCACHED_USERNAME'),
59 | env('MEMCACHED_PASSWORD'),
60 | ],
61 | 'options' => [
62 | // Memcached::OPT_CONNECT_TIMEOUT => 2000,
63 | ],
64 | 'servers' => [
65 | [
66 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
67 | 'port' => env('MEMCACHED_PORT', 11211),
68 | 'weight' => 100,
69 | ],
70 | ],
71 | ],
72 |
73 | 'redis' => [
74 | 'driver' => 'redis',
75 | 'connection' => 'cache',
76 | ],
77 |
78 | ],
79 |
80 | /*
81 | |--------------------------------------------------------------------------
82 | | Cache Key Prefix
83 | |--------------------------------------------------------------------------
84 | |
85 | | When utilizing a RAM based store such as APC or Memcached, there might
86 | | be other applications utilizing the same cache. So, we'll specify a
87 | | value to get prefixed to all our keys so we can avoid collisions.
88 | |
89 | */
90 |
91 | 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
92 |
93 | ];
94 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Admin/CategoriesController.php:
--------------------------------------------------------------------------------
1 | get();
18 | return view('admin.categories.index', compact('categories'));
19 | }
20 |
21 | /**
22 | * Show the form for creating a new resource.
23 | *
24 | * @return \Illuminate\Http\Response
25 | */
26 | public function create()
27 | {
28 | return view('admin.categories.create');
29 | }
30 |
31 | /**
32 | * Store a newly created resource in storage.
33 | *
34 | * @return \Illuminate\Http\Response
35 | */
36 | public function store()
37 | {
38 | // validate form
39 | $data = request()->validate([
40 | 'name' => 'required|string|max:50|unique:categories,name'
41 | ]);
42 |
43 | $data['slug'] = str_slug($data['name']);
44 |
45 | // clear cache
46 | \Artisan::call('cache:clear');
47 | // create new category
48 | Category::create($data);
49 | // success
50 | session()->flash('success', 'Category Created Successfully');
51 | // redirect to categories page
52 | return redirect(route('categories.index'));
53 | }
54 |
55 | /**
56 | * Show the form for editing the specified resource.
57 | * @return \Illuminate\Http\Response
58 | */
59 | public function edit(Category $category)
60 | {
61 | return view('admin.categories.edit', compact('category'));
62 | }
63 |
64 | /**
65 | * Update the specified resource in storage.
66 | * @return \Illuminate\Http\Response
67 | */
68 | public function update(Category $category)
69 | {
70 | // validate form
71 | $data = request()->validate([
72 | 'name' => 'required|string|max:255|unique:categories,name,'.$category->id
73 | ]);
74 | $data['slug'] = str_slug($data['name']);
75 |
76 | // update categorys
77 | Category::whereSlug($category->slug)->update($data);
78 | // clear cache
79 | \Artisan::call('cache:clear');
80 |
81 | // success
82 | session()->flash('success', 'Category Updated Successfully');
83 |
84 | //redirect to categories page
85 | return redirect(route('categories.index'));
86 | }
87 |
88 | /**
89 | * @param Category $category
90 | * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
91 | * @throws \Exception
92 | */
93 | public function destroy(Category $category)
94 | {
95 | $category->delete();
96 | session()->flash('success', 'Category Deleted Successfully');
97 | return redirect(route('categories.index'));
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/app/Http/Kernel.php:
--------------------------------------------------------------------------------
1 | [
31 | \App\Http\Middleware\EncryptCookies::class,
32 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
33 | \Illuminate\Session\Middleware\StartSession::class,
34 | // \Illuminate\Session\Middleware\AuthenticateSession::class,
35 | \Illuminate\View\Middleware\ShareErrorsFromSession::class,
36 | \App\Http\Middleware\VerifyCsrfToken::class,
37 | \Illuminate\Routing\Middleware\SubstituteBindings::class,
38 | ],
39 |
40 | 'api' => [
41 | 'throttle:60,1',
42 | 'bindings',
43 | ],
44 | ];
45 |
46 | /**
47 | * The application's route middleware.
48 | *
49 | * These middleware may be assigned to groups or used individually.
50 | *
51 | * @var array
52 | */
53 | protected $routeMiddleware = [
54 | 'auth' => \App\Http\Middleware\Authenticate::class,
55 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
56 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
57 | 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
58 | 'can' => \Illuminate\Auth\Middleware\Authorize::class,
59 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
60 | 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
61 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
62 | 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
63 | 'admin' => \App\Http\Middleware\Admin::class,
64 | ];
65 |
66 | /**
67 | * The priority-sorted list of middleware.
68 | *
69 | * This forces the listed middleware to always be in the given order.
70 | *
71 | * @var array
72 | */
73 | protected $middlewarePriority = [
74 | \Illuminate\Session\Middleware\StartSession::class,
75 | \Illuminate\View\Middleware\ShareErrorsFromSession::class,
76 | \App\Http\Middleware\Authenticate::class,
77 | \Illuminate\Session\Middleware\AuthenticateSession::class,
78 | \Illuminate\Routing\Middleware\SubstituteBindings::class,
79 | \Illuminate\Auth\Middleware\Authorize::class,
80 | ];
81 | }
82 |
--------------------------------------------------------------------------------
/resources/views/auth/passwords/reset.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | @csrf
13 |
14 |
15 |
16 |
29 |
30 |
43 |
44 |
51 |
52 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | @endsection
66 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | [
17 | 'guard' => 'web',
18 | 'passwords' => 'users',
19 | ],
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Authentication Guards
24 | |--------------------------------------------------------------------------
25 | |
26 | | Next, you may define every authentication guard for your application.
27 | | Of course, a great default configuration has been defined for you
28 | | here which uses session storage and the Eloquent user provider.
29 | |
30 | | All authentication drivers have a user provider. This defines how the
31 | | users are actually retrieved out of your database or other storage
32 | | mechanisms used by this application to persist your user's data.
33 | |
34 | | Supported: "session", "token"
35 | |
36 | */
37 |
38 | 'guards' => [
39 | 'web' => [
40 | 'driver' => 'session',
41 | 'provider' => 'users',
42 | ],
43 |
44 | 'api' => [
45 | 'driver' => 'token',
46 | 'provider' => 'users',
47 | ],
48 | ],
49 |
50 | /*
51 | |--------------------------------------------------------------------------
52 | | User Providers
53 | |--------------------------------------------------------------------------
54 | |
55 | | All authentication drivers have a user provider. This defines how the
56 | | users are actually retrieved out of your database or other storage
57 | | mechanisms used by this application to persist your user's data.
58 | |
59 | | If you have multiple user tables or models you may configure multiple
60 | | sources which represent each model / table. These sources may then
61 | | be assigned to any extra authentication guards you have defined.
62 | |
63 | | Supported: "database", "eloquent"
64 | |
65 | */
66 |
67 | 'providers' => [
68 | 'users' => [
69 | 'driver' => 'eloquent',
70 | 'model' => App\User::class,
71 | ],
72 |
73 | // 'users' => [
74 | // 'driver' => 'database',
75 | // 'table' => 'users',
76 | // ],
77 | ],
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Resetting Passwords
82 | |--------------------------------------------------------------------------
83 | |
84 | | You may specify multiple password reset configurations if you have more
85 | | than one user table or model in the application and you want to have
86 | | separate password reset settings based on the specific user types.
87 | |
88 | | The expire time is the number of minutes that the reset token should be
89 | | considered valid. This security feature keeps tokens short-lived so
90 | | they have less time to be guessed. You may change this as needed.
91 | |
92 | */
93 |
94 | 'passwords' => [
95 | 'users' => [
96 | 'provider' => 'users',
97 | 'table' => 'password_resets',
98 | 'expire' => 60,
99 | ],
100 | ],
101 |
102 | ];
103 |
--------------------------------------------------------------------------------