squashjedi/basecamp
Composer 安装命令:
composer require squashjedi/basecamp
包简介
:package_description
关键字:
README 文档
README
About Basecamp
Basecamp provides a great starting place for your Laravel project with all of the following:-
- It has a fluent interface to OAuth authentication with Facebook using the Laravel Socialite package.
- Built in emails to authenticate users, password resets, resend validation code and a welcome email.
- An area for logged in users to update their settings.
- A webmaster's admin panel to CRUD Users.
- A Users API.
Install
via Composer
composer require squashjedi/basecamp
Configuration
After installing the Basecamp library, register Squashjedi\Basecamp\BasecampServiceProvider::class in your config/app.php configuration file:
'providers' => [ // Other service providers... Squashjedi\Basecamp\BasecampServiceProvider::class, ],
You will also need to add credentials for the OAuth services your application utilises. These credentials should be placed in your config/services.php configuration file and should use the key facebook. For example:
'facebook' => [ 'client_id' => 'your-facebook-app-id', 'client_secret' => 'your-facebook-app-secret', 'redirect' => 'http://your-callback-url', ],
Run the following commands:
php artisan vendor:publish --tag=basecamp
php artisan migrate
php artisan db:seed --class="Squashjedi\\Basecamp\\DatabaseSeeder"
npm install
npm install font-awesome
Add these Vue components in resources/assets/js/app.js:
Vue.component('basecamp-pagination', require('./components/basecamp/Pagination.vue')); Vue.component('basecamp-notify', require('./components/basecamp/Notify.vue')); Vue.component('basecamp-modal-delete', require('./components/basecamp/ModalDelete.vue')); Vue.component('basecamp-admin-users', require('./components/basecamp/admin/users/Index.vue')); Vue.component('basecamp-admin-users-fields', require('./components/basecamp/admin/users/Fields.vue')); Vue.component('basecamp-admin-users-create', require('./components/basecamp/admin/users/Create.vue')); Vue.component('basecamp-admin-users-edit', require('./components/basecamp/admin/users/Edit.vue')); Vue.component('basecamp-user-settings-account', require('./components/basecamp/user/settings/account/Account.vue')); Vue.component('basecamp-user-settings-account-deactivate', require('./components/basecamp/user/settings/account/Deactivate.vue')); Vue.component('basecamp-user-settings-account-deactivate-modal', require('./components/basecamp/user/settings/account/DeactivateModal.vue')); Vue.component('basecamp-user-settings-password', require('./components/basecamp/user/settings/password/Password.vue')); Vue.component('basecamp-settings-password-forgot', require('./components/basecamp/user/settings/password/Forgot.vue')); Vue.component('basecamp-user-settings-password-reset', require('./components/basecamp/user/settings/password/Reset.vue'));
Add these at the bottom of resources/assets/sass/app.scss:
// Font Awesome @import "node_modules/font-awesome/scss/font-awesome.scss"; // Basecamp variables @import "basecamp/variables"; // Basecamp extras @import "basecamp/extras";
Run the following command:
npm run dev
Delete resources/views/welcome.blade.php.
Delete all routes in routes/web.php.
Replace app/User.php with:
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Squashjedi\Basecamp\App\Notifications\ResetPasswordNotification; use Squashjedi\Basecamp\App\Social; use Squashjedi\Basecamp\App\Role; use Squashjedi\Basecamp\App\PasswordReset; use Illuminate\Database\Eloquent\SoftDeletes; class User extends Authenticatable { use Notifiable, SoftDeletes; /** * The attributes that should be mutated to dates. * * @var array */ protected $dates = ['deleted_at']; /** * Send the password reset notification. * * @param string $token * @return void */ public function sendPasswordResetNotification($token) { $this->notify(new ResetPasswordNotification($token)); } /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'verified', 'name', 'email', 'password', 'verify_token', 'deleted_at' ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * Get the social networks for the user. */ public function social() { return $this->hasMany(Social::class); } /** * Get the roles for the user. */ public function roles() { return $this->hasMany(Role::class); } /** * Get the password code for the user. */ public function passwordReset() { return $this->hasOne(PasswordReset::class, 'email', 'email'); } }
Add the following to resources/lang/en/validation.php:
return [ // Other error messages... 'password_match' => 'This doesn\'t match your current password', ];
Install Laravel Passport https://packagist.org/packages/laravel/passport.
Add this middleware to app/Http/Kernel:
protected $middlewareGroups = [ 'web' => [ // Other middleware classes... \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, ], ];
Usage
The database seed creates 1000 users.
The webmaster's login details are:
Email: me@example.com Password: 123456
License
The MIT License (MIT). Please see License File for more information.
squashjedi/basecamp 适用场景与选型建议
squashjedi/basecamp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 06 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「basecamp」 「Squashjedi」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 squashjedi/basecamp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 squashjedi/basecamp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 squashjedi/basecamp 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Basecamp OAuth 2.0 Client Provider for The PHP League OAuth2-Client
Basecamp OAuth 2.0 Client Provider for The PHP League OAuth2-Client
Basecamp Classic API Wrapper for PHP 5.3+
Modern PHP client for Basecamp 2 (BCX) API
Modern PHP client for Basecamp 4 (BC3 API) — OAuth 2.0 with refresh-token rotation
PHP wrapper for new Basecamp API
统计信息
- 总下载量: 26
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-06-30