• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jeremykenedy/laravel-material-design: Laravel 5.6 on Material Design Lite 1.3 wi ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

jeremykenedy/laravel-material-design

开源软件地址(OpenSource Url):

https://github.com/jeremykenedy/laravel-material-design

开源编程语言(OpenSource Language):

JavaScript 74.6%

开源软件介绍(OpenSource Introduction):

Laravel Material Design

Laravel Material Design is a Complete Build of Laravel 5.6 and Google Material Design Lite 1.3 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user management system.

Build Status StyleCI Scrutinizer Code Quality License: MIT

Table of contents

About

Laravel 5.6 with user authentication, registration with email confirmation, social media authentication, password recovery, and captcha protection. This makes full use of Controllers for the routes, templates for the views, and makes use of middleware for routing. Uses laravel ORM modeling and has CRUD (Create Read Update Delete) functionality for all tasks. Quick setup, can be done in 5 minutes. It will take longer to obtain your Facebook, Twitter, and Google Plus API Keys than it will to set this up.

Features

A Laravel 5.6.x with Material Design Lite 1.3.0 project.

Laravel Material Design Features
Built on Laravel 5.6
Built on Material Design Lite 1.3.0
Uses MySQL Database (can be changed) and include migrations and seeds
Uses Artisan to manage database migration, schema creations, and create/publish page controller templates
Dependencies are managed with COMPOSER
Laravel Scaffolding User and Administrator Authentication
Uses Socialite Logins ready to go - See API list used below
Google Maps API v3 for User Location lookup and Geocoding
CRUD (Create, Read, Update, Delete) Tasks Management
CRUD (Create, Read, Update, Delete) User Management
Eloquent user profiles
Users can pick theme through dropdown or colorwheel
Users can upload profile background images
User Avatar Image AJAX Upload with Dropzone.js
User Gravatar using Gravatar API
User Registration with email verification
Google reCaptcha Protection with Google API
Makes us of Laravel Mix to compile assets
Makes use of Language Localization Files
Active Nav states using Laravel Requests
Restrict User Email Activation Attempts
Capture IP to users table upon signup
User uploads are in protected storage API
Uses Laravel Debugger for development
User Password Reset via Email Token
User Login with remember password
User Delete with Goodby email
User Restore Deleted Account
User Roles/ACL Implementation
Configurable Email Notification via Laravel-Exception-Notifier
Makes of Laravel's Soft Delete Structure
Soft Deleted Users Management System
Permanently Delete Soft Deleted Users
User Delete Account with Goodbye email
User Restore Deleted Account Token
Restore Soft Deleted Users
View Soft Deleted Users
Captures Soft Delete Date
Captures Soft Delete IP
Admin Routing Details UI
Admin PHP Information UI
404 Page

Installation Instructions

  1. Run git clone https://github.com/jeremykenedy/laravel-material-design.git laravel-material-design
  2. Create a MySQL database for the project
    • mysql -u root -p, if using Vagrant: mysql -u homestead -psecret
    • create database laravel_material;
    • \q
  3. From the projects root run cp .env.example .env
  4. Configure your .env file // NOTE: Google API Key will prevent maps error
  5. Run composer install from the projects root folder
  6. From the projects root folder run: php artisan vendor:publish --tag=laravelroles
  7. (Optional permissions step) From the projects root folder run sudo chmod -R ug+rwx storage bootstrap/cache
  8. From the projects root folder run php artisan key:generate
  9. From the projects root folder run php artisan migrate
  10. From the projects root folder run composer dump-autoload
  11. From the projects root folder run php artisan db:seed
  12. Compile the front end assets with npm steps or yarn steps.

Build the Front End Assets with Mix

Using NPM:
  1. From the projects root folder run npm install
  2. From the projects root folder run npm run dev or npm run production
  • You can watch assets with npm run watch
Using Yarn:
  1. From the projects root folder run yarn install
  2. From the projects root folder run yarn run dev or yarn run production
  • You can watch assets with yarn run watch

Optionally Build Cache

  1. From the projects root folder run php artisan config:cache
And thats it with the caveat of setting up and configuring your development environment. I recommend Laravel Homestead

View the Project in Browser Using Artisan

  1. From the projects root folder run php artisan serve
  2. Open your web browser and go to http://localhost

Seeds

Seeded Roles
  • Unverified - Level 0
  • User - Level 1
  • Administrator - Level 5
Seeded Permissions
  • view.users
  • create.users
  • edit.users
  • delete.users
Seeded Users
Email Password Access
user@user.com password User Access
admin@admin.com password Admin Access

Routes

+--------+---------------+----------------------------------------+---------------------------------+------------------------------------------------------------------------+----------------------------------------------+
| Domain | Method        | URI                                    | Name                            | Action                                                                 | Middleware                                   |
+--------+---------------+----------------------------------------+---------------------------------+------------------------------------------------------------------------+----------------------------------------------+
|        | GET|HEAD      | /                                      | public.home                     | App\Http\Controllers\UserController@index                              | web,auth,activated                           |
|        | GET|HEAD      | _debugbar/assets/javascript            | debugbar.assets.js              | Barryvdh\Debugbar\Controllers\AssetController@js                       | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
|        | GET|HEAD      | _debugbar/assets/stylesheets           | debugbar.assets.css             | Barryvdh\Debugbar\Controllers\AssetController@css                      | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
|        | DELETE        | _debugbar/cache/{key}/{tags?}          | debugbar.cache.delete           | Barryvdh\Debugbar\Controllers\CacheController@delete                   | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
|        | GET|HEAD      | _debugbar/clockwork/{id}               | debugbar.clockwork              | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork          | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
|        | GET|HEAD      | _debugbar/open                         | debugbar.openhandler            | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle             | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
|        | GET|HEAD      | account                                | {username}                      | App\Http\Controllers\ProfilesController@account                        | web,auth,activated,currentUser               |
|        | GET|HEAD      | activate                               | activate                        | App\Http\Controllers\Auth\ActivateController@initial                   | web,auth                                     |
|        | GET|HEAD      | activate/{token}                       | authenticated.activate          | App\Http\Controllers\Auth\ActivateController@activate                  | web,auth                                     |
|        | GET|HEAD      | activation                             | authenticated.activation-resend | App\Http\Controllers\Auth\ActivateController@resend                    | web,auth                                     |
|        | GET|HEAD      | activation-required                    | activation-required             | App\Http\Controllers\Auth\ActivateController@activationRequired        | web,auth,activated                           |
|        | POST          | avatar/upload                          | avatar.upload                   | App\Http\Controllers\ProfilesController@upload                         | web,auth,activated,currentUser               |
|        | POST          | background/upload                      | background.upload               | App\Http\Controllers\ProfilesController@uploadBackground               | web,auth,activated,currentUser               |
|        | GET|POST|HEAD | broadcasting/auth                      |                                 | Illuminate\Broadcasting\BroadcastController@authenticate               | web                                          |
|        | GET|HEAD      | exceeded                               | exceeded                        | App\Http\Controllers\Auth\ActivateController@exceeded                  | web,auth                                     |
|        | GET|HEAD      | home                                   | public.home                     | App\Http\Controllers\UserController@index                              | web,auth,activated                           |
|        | GET|HEAD      | images/profile/{id}/avatar/{image}     |                                 | App\Http\Controllers\ProfilesController@userProfileAvatar              | web,auth,activated                           |
|        | GET|HEAD      | images/profile/{id}/background/{image} |                                 | App\Http\Controllers\ProfilesController@userProfileBackgroundImage     | web,auth,activated                           |
|        | POST          | login                                  |                                 | App\Http\Controllers\Auth\LoginController@login                        | web,guest                                    |
|        | GET|HEAD      | login                                  | login                           | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest                                    |
|        | GET|HEAD      | logout                                 | logout                          | App\Http\Controllers\Auth\LoginController@logout                       | web,auth,activated                           |
|        | POST          | logout                                 | logout                          | App\Http\Controllers\Auth\LoginController@logout                       | web                                          |
|        | GET|HEAD      | logs                                   |                                 | Rap2hpoutre\LaravelLogViewer\LogViewerController@index                 | web,auth,activated,role:admin                |
|        | GET|HEAD      | material.min.css.template              |                                 | App\Http\Controllers\ThemesManagementController@template               | web,auth                                     |
|        | POST          | password/email                         | password.email                  | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest                                    |
|        | GET|HEAD      | password/reset                         | password.request                | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest                                    |
|        | POST          | password/reset                         |                                 | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest                                    |
|        | GET|HEAD      | password/reset/{token}                 | password.reset                  | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest                                    |
|        | GET|HEAD      | php                                    |                                 | App\Http\Controllers\AdminDetailsController@listPHPInfo                | web,auth,activated,role:admin                |
|        | GET|HEAD      | profile/create                         | profile.create                  | App\Http\Controllers\ProfilesController@create                         | web,auth,activated,currentUser               |
|        | GET|HEAD      | profile/{profile}                      | profile.show                    | App\Http\Controllers\ProfilesController@show                           | web,auth,activated,currentUser               |
|        | PUT|PATCH     | profile/{profile}                      | profile.update                  | App\Http\Controllers\ProfilesController@update                         | web,auth,activated,currentUser               |
|        | GET|HEAD      | profile/{profile}/edit                 | profile.edit                    | App\Http\Controllers\ProfilesController@edit                           | web,auth,activated,currentUser               |
|        | GET|HEAD      | profile/{username}                     | {username}                      | App\Http\Controllers\ProfilesController@show                           | web,auth,activated                           |
|        | DELETE        | profile/{username}/deleteUserAccount   | {username}                      | App\Http\Controllers\ProfilesController@deleteUserAccount              | web,auth,activated,currentUser               |
|        | POST          | profile/{username}/updateAjax          | {username}                      | App\Http\Controllers\ProfilesController@update                         | web,auth,activated,currentUser               |
|        | PUT           | profile/{username}/updateUserAccount   | {username}                      | App\Http\Controllers\ProfilesController@updateUserAccount              | web,auth,activated,currentUser               |
|        | PUT           | profile/{username}/updateUserPassword  | {username}                      | App\Http\Controllers\ProfilesController@updateUserPassword             | web,auth,activated,currentUser               |
|        | GET|HEAD      | re-activate/{token}                    | user.reactivate                 | App\Http\Controllers\RestoreUserController@userReActivate              | web                                          |
|        | GET|HEAD      | register                               | register                        | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest                                    |
|        | POST          | register                               |                                 | App\Http\Controllers\Auth\RegisterController@register                  | web,guest                                    |
|        | GET|HEAD      | routes                                 |                                 | App\Http\Controllers\AdminDetailsController@listRoutes                 | web,auth,activated,role:admin                |
|        | GET|HEAD      | social/handle/{provider}               | social.handle                   | App\Http\Controllers\Auth\SocialController@getSocialHandle             | web                                          |
|        | GET|HEAD      | social/redirect/{provider}             | social.redirect                 | App\Http\Controllers\Auth\SocialController@getSocialRedirect           | web                                          |
|        | GET|HEAD      | tasks                                  | tasks.index                     | App\Http\Controllers\TasksController@index                             | web,auth,activated,currentUser               |
|        | POST          | tasks                                  | tasks.store                     | App\Http\Controllers\TasksController@store                             | web,auth,activated,currentUser               |
|        | GET|HEAD      | tasks/create                           | tasks.create                    | App\Http\Controllers\TasksController@create                            | web,auth,activated,currentUser               |
|        | GET|HEAD      | tasks/{task}                           | tasks.show                      | App\Http\Controllers\TasksController@show                              | web,auth,activated,currentUser               |
|        | PUT|PATCH     | tasks/{task}                           | tasks.update                    | App\Http\Controllers\TasksController@update                            | web,auth,activated,currentUser               |
|        | DELETE        | tasks/{task}                           | tasks.destroy                   | App\Http\Controllers\TasksController@destroy                           | web,auth,activated,currentUser               |
|        | GET|HEAD      | tasks/{task}/edit                      | tasks.edit                      | App\Http\Controllers\TasksController@edit                              | web,auth,activated,currentUser               |
|        | POST          | themes                                 | themes.store                    | App\Http\Controllers\ThemesManagementController@store                  | web,auth,activated,role:admin                |
|        | GET|HEAD      | themes                                 | themes                          | App\Http\Controllers\ThemesManagementController@index                  | web,auth,activated,role:admin                |
|        | GET|HEAD      | themes/create                          | themes.create                   | App\Http\Controllers\ThemesManagementController@create                 | web,auth,activated,role:admin                |
|        | GET|HEAD      | themes/{theme}                         | themes.show                     | App\Http\Controllers\ThemesManagementController@show                   | web,auth,activated,role:admin                |
|        | DELETE        | themes/{theme}                         | themes.destroy                  | App\Http\Controllers\ThemesManagementController@destroy                | web,auth,activated,role:admin                |
|        | PUT|PATCH     | themes/{theme}                         | themes.update                   | App\Http\Controllers\ThemesManagementController@update                 | web,auth,activated,role:admin                |
|        | GET|HEAD      | themes/{theme}/edit                    | themes.edit                     | App\Http\Controllers\ThemesManagementController@edit                   | web,auth,activated,role:admin                |
|        | GET|HEAD      | users                                  | users                           | App\Http\Controllers\UsersManagementController@index                   | web,auth,activated,role:admin                |
|        | POST          | users                                  | users.store                     | App\Http\Controllers\UsersManagementController@store                   | web,auth,activated,role:admin                |
|        | GET|HEAD      | users/create                           | create                          | App\Http\Controllers\UsersManagementController@create                  | web,auth,activated,role:admin                |
|        | GET|HEAD      | users/deleted                          | deleted.index                   | App\Http\Controllers\SoftDeletesController@index                       | web,auth,activated,role:admin                |
|        | DELETE        | users/deleted/{deleted}                | deleted.destroy                 | App\Http\Controllers\SoftDeletesController@destroy                     | web,auth,activated,role:admin                |
|        | PUT|PATCH     | users/deleted/{deleted}                | deleted.update                  | App\Http\Controllers\SoftDeletesController@update                      | web,auth,activated,role:admin                |
|        | GET|HEAD      | users/deleted/{deleted}                | deleted.show                    | App\Http\Controllers\SoftDeletesController@show                        | web,auth,activated,role:admin                |
|        | DELETE        | users/{user}                           | user.destroy                    | App\Http\Controllers\UsersManagementController@destroy                 | web,auth,activated,role:admin                |
|        | PUT|PATCH     | users/{user}                           | users.update                    | App\Http\Controllers\UsersManagementController@update                  | web,auth,activated,role:admin                |
|        | GET|HEAD      | users/{user}                           | users.show                      | App\Http\Controllers\UsersManagementController@show                    | web,auth,activated,role:admin                |
|        | GET|HEAD      | users/{user}/edit                      | users.edit                      | App\Http\Controllers\UsersManagementController@edit                    | web,auth,activated,role:admin                |
+--------+---------------+----------------------------------------+---------------------------------+------------------------------------------------------------------------+----------------------------------------------+

Socialite

Get Socialite Login API Keys:

Add More Socialite Logins

Steps:
  1. Go to http://socialiteproviders.github.io and select the provider to be added.

  2. From the projects root folder in terminal run composer command to get the needed package.

    • Example:
       composer require socialiteproviders/twitch
    
  3. From the projects root folder run composer update

  4. Add the service provider to /config/services.php

    • Example:
       'twitch' => [
           'client_id'   => env('TWITCH_KEY'),
           'client_secret' => env('TWITCH_SECRET'),
           'redirect'    => env('TWITCH_REDIRECT_URI'),
       ],
    
  5. Add the API credentials to /.env

    • Example:
       TWITCH_KEY=YOURKEYHERE
       TWITCH_SECRET=YOURSECRETHERE
       TWITCH_REDIRECT_URI=http://YOURWEBSITEURL.COM/social/handle/twitch
    
  6. Add the social media login link:

    • Example: In file /resources/views/auth/login.blade.php add ONE of the following:

      • Conventional HTML:
      <a href="{{ route('social.redirect', ['provider' => 'twitch']) }}" class="btn btn-lg btn-primary btn-block twitch">Twitch</a>
      
      {!! HTML::link(route('social.redirect', ['provider' => 'twitch']), 'Twitch', array('class' => 'btn btn-lg btn-primary btn-block twitch')) !!}
      

Other API keys

热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap