with stub team and player models and migrations and twitter librarymaster
@ -0,0 +1,33 @@ | |||
APP_NAME=Laravel | |||
APP_ENV=local | |||
APP_KEY= | |||
APP_DEBUG=true | |||
APP_LOG_LEVEL=debug | |||
APP_URL=http://localhost | |||
DB_CONNECTION=mysql | |||
DB_HOST=127.0.0.1 | |||
DB_PORT=3306 | |||
DB_DATABASE=homestead | |||
DB_USERNAME=homestead | |||
DB_PASSWORD=secret | |||
BROADCAST_DRIVER=log | |||
CACHE_DRIVER=file | |||
SESSION_DRIVER=file | |||
QUEUE_DRIVER=sync | |||
REDIS_HOST=127.0.0.1 | |||
REDIS_PASSWORD=null | |||
REDIS_PORT=6379 | |||
MAIL_DRIVER=smtp | |||
MAIL_HOST=smtp.mailtrap.io | |||
MAIL_PORT=2525 | |||
MAIL_USERNAME=null | |||
MAIL_PASSWORD=null | |||
MAIL_ENCRYPTION=null | |||
PUSHER_APP_ID= | |||
PUSHER_APP_KEY= | |||
PUSHER_APP_SECRET= |
@ -0,0 +1,5 @@ | |||
* text=auto | |||
*.css linguist-vendored | |||
*.scss linguist-vendored | |||
*.js linguist-vendored | |||
CHANGELOG.md export-ignore |
@ -0,0 +1,11 @@ | |||
/node_modules | |||
/public/hot | |||
/public/storage | |||
/storage/*.key | |||
/vendor | |||
/.idea | |||
/.vagrant | |||
Homestead.json | |||
Homestead.yaml | |||
npm-debug.log | |||
.env |
@ -0,0 +1,40 @@ | |||
<?php | |||
namespace App\Console; | |||
use Illuminate\Console\Scheduling\Schedule; | |||
use Illuminate\Foundation\Console\Kernel as ConsoleKernel; | |||
class Kernel extends ConsoleKernel | |||
{ | |||
/** | |||
* The Artisan commands provided by your application. | |||
* | |||
* @var array | |||
*/ | |||
protected $commands = [ | |||
// | |||
]; | |||
/** | |||
* Define the application's command schedule. | |||
* | |||
* @param \Illuminate\Console\Scheduling\Schedule $schedule | |||
* @return void | |||
*/ | |||
protected function schedule(Schedule $schedule) | |||
{ | |||
// $schedule->command('inspire') | |||
// ->hourly(); | |||
} | |||
/** | |||
* Register the Closure based commands for the application. | |||
* | |||
* @return void | |||
*/ | |||
protected function commands() | |||
{ | |||
require base_path('routes/console.php'); | |||
} | |||
} |
@ -0,0 +1,65 @@ | |||
<?php | |||
namespace App\Exceptions; | |||
use Exception; | |||
use Illuminate\Auth\AuthenticationException; | |||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; | |||
class Handler extends ExceptionHandler | |||
{ | |||
/** | |||
* A list of the exception types that should not be reported. | |||
* | |||
* @var array | |||
*/ | |||
protected $dontReport = [ | |||
\Illuminate\Auth\AuthenticationException::class, | |||
\Illuminate\Auth\Access\AuthorizationException::class, | |||
\Symfony\Component\HttpKernel\Exception\HttpException::class, | |||
\Illuminate\Database\Eloquent\ModelNotFoundException::class, | |||
\Illuminate\Session\TokenMismatchException::class, | |||
\Illuminate\Validation\ValidationException::class, | |||
]; | |||
/** | |||
* Report or log an exception. | |||
* | |||
* This is a great spot to send exceptions to Sentry, Bugsnag, etc. | |||
* | |||
* @param \Exception $exception | |||
* @return void | |||
*/ | |||
public function report(Exception $exception) | |||
{ | |||
parent::report($exception); | |||
} | |||
/** | |||
* Render an exception into an HTTP response. | |||
* | |||
* @param \Illuminate\Http\Request $request | |||
* @param \Exception $exception | |||
* @return \Illuminate\Http\Response | |||
*/ | |||
public function render($request, Exception $exception) | |||
{ | |||
return parent::render($request, $exception); | |||
} | |||
/** | |||
* Convert an authentication exception into an unauthenticated response. | |||
* | |||
* @param \Illuminate\Http\Request $request | |||
* @param \Illuminate\Auth\AuthenticationException $exception | |||
* @return \Illuminate\Http\Response | |||
*/ | |||
protected function unauthenticated($request, AuthenticationException $exception) | |||
{ | |||
if ($request->expectsJson()) { | |||
return response()->json(['error' => 'Unauthenticated.'], 401); | |||
} | |||
return redirect()->guest(route('login')); | |||
} | |||
} |
@ -0,0 +1,32 @@ | |||
<?php | |||
namespace App\Http\Controllers\Auth; | |||
use App\Http\Controllers\Controller; | |||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; | |||
class ForgotPasswordController extends Controller | |||
{ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Password Reset Controller | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This controller is responsible for handling password reset emails and | |||
| includes a trait which assists in sending these notifications from | |||
| your application to your users. Feel free to explore this trait. | |||
| | |||
*/ | |||
use SendsPasswordResetEmails; | |||
/** | |||
* Create a new controller instance. | |||
* | |||
* @return void | |||
*/ | |||
public function __construct() | |||
{ | |||
$this->middleware('guest'); | |||
} | |||
} |
@ -0,0 +1,39 @@ | |||
<?php | |||
namespace App\Http\Controllers\Auth; | |||
use App\Http\Controllers\Controller; | |||
use Illuminate\Foundation\Auth\AuthenticatesUsers; | |||
class LoginController extends Controller | |||
{ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Login Controller | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This controller handles authenticating users for the application and | |||
| redirecting them to your home screen. The controller uses a trait | |||
| to conveniently provide its functionality to your applications. | |||
| | |||
*/ | |||
use AuthenticatesUsers; | |||
/** | |||
* Where to redirect users after login. | |||
* | |||
* @var string | |||
*/ | |||
protected $redirectTo = '/home'; | |||
/** | |||
* Create a new controller instance. | |||
* | |||
* @return void | |||
*/ | |||
public function __construct() | |||
{ | |||
$this->middleware('guest')->except('logout'); | |||
} | |||
} |
@ -0,0 +1,71 @@ | |||
<?php | |||
namespace App\Http\Controllers\Auth; | |||
use App\User; | |||
use App\Http\Controllers\Controller; | |||
use Illuminate\Support\Facades\Validator; | |||
use Illuminate\Foundation\Auth\RegistersUsers; | |||
class RegisterController extends Controller | |||
{ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Register Controller | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This controller handles the registration of new users as well as their | |||
| validation and creation. By default this controller uses a trait to | |||
| provide this functionality without requiring any additional code. | |||
| | |||
*/ | |||
use RegistersUsers; | |||
/** | |||
* Where to redirect users after registration. | |||
* | |||
* @var string | |||
*/ | |||
protected $redirectTo = '/home'; | |||
/** | |||
* Create a new controller instance. | |||
* | |||
* @return void | |||
*/ | |||
public function __construct() | |||
{ | |||
$this->middleware('guest'); | |||
} | |||
/** | |||
* Get a validator for an incoming registration request. | |||
* | |||
* @param array $data | |||
* @return \Illuminate\Contracts\Validation\Validator | |||
*/ | |||
protected function validator(array $data) | |||
{ | |||
return Validator::make($data, [ | |||
'name' => 'required|string|max:255', | |||
'email' => 'required|string|email|max:255|unique:users', | |||
'password' => 'required|string|min:6|confirmed', | |||
]); | |||
} | |||
/** | |||
* Create a new user instance after a valid registration. | |||
* | |||
* @param array $data | |||
* @return User | |||
*/ | |||
protected function create(array $data) | |||
{ | |||
return User::create([ | |||
'name' => $data['name'], | |||
'email' => $data['email'], | |||
'password' => bcrypt($data['password']), | |||
]); | |||
} | |||
} |
@ -0,0 +1,39 @@ | |||
<?php | |||
namespace App\Http\Controllers\Auth; | |||
use App\Http\Controllers\Controller; | |||
use Illuminate\Foundation\Auth\ResetsPasswords; | |||
class ResetPasswordController extends Controller | |||
{ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Password Reset Controller | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This controller is responsible for handling password reset requests | |||
| and uses a simple trait to include this behavior. You're free to | |||
| explore this trait and override any methods you wish to tweak. | |||
| | |||
*/ | |||
use ResetsPasswords; | |||
/** | |||
* Where to redirect users after resetting their password. | |||
* | |||
* @var string | |||
*/ | |||
protected $redirectTo = '/home'; | |||
/** | |||
* Create a new controller instance. | |||
* | |||
* @return void | |||
*/ | |||
public function __construct() | |||
{ | |||
$this->middleware('guest'); | |||
} | |||
} |
@ -0,0 +1,13 @@ | |||
<?php | |||
namespace App\Http\Controllers; | |||
use Illuminate\Foundation\Bus\DispatchesJobs; | |||
use Illuminate\Routing\Controller as BaseController; | |||
use Illuminate\Foundation\Validation\ValidatesRequests; | |||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; | |||
class Controller extends BaseController | |||
{ | |||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; | |||
} |
@ -0,0 +1,60 @@ | |||
<?php | |||
namespace App\Http; | |||
use Illuminate\Foundation\Http\Kernel as HttpKernel; | |||
class Kernel extends HttpKernel | |||
{ | |||
/** | |||
* The application's global HTTP middleware stack. | |||
* | |||
* These middleware are run during every request to your application. | |||
* | |||
* @var array | |||
*/ | |||
protected $middleware = [ | |||
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, | |||
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, | |||
\App\Http\Middleware\TrimStrings::class, | |||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, | |||
]; | |||
/** | |||
* The application's route middleware groups. | |||
* | |||
* @var array | |||
*/ | |||
protected $middlewareGroups = [ | |||
'web' => [ | |||
\App\Http\Middleware\EncryptCookies::class, | |||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, | |||
\Illuminate\Session\Middleware\StartSession::class, | |||
// \Illuminate\Session\Middleware\AuthenticateSession::class, | |||
\Illuminate\View\Middleware\ShareErrorsFromSession::class, | |||
\App\Http\Middleware\VerifyCsrfToken::class, | |||
\Illuminate\Routing\Middleware\SubstituteBindings::class, | |||
], | |||
'api' => [ | |||
'throttle:60,1', | |||
'bindings', | |||
], | |||
]; | |||
/** | |||
* The application's route middleware. | |||
* | |||
* These middleware may be assigned to groups or used individually. | |||
* | |||
* @var array | |||
*/ | |||
protected $routeMiddleware = [ | |||
'auth' => \Illuminate\Auth\Middleware\Authenticate::class, | |||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, | |||
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, | |||
'can' => \Illuminate\Auth\Middleware\Authorize::class, | |||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, | |||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, | |||
]; | |||
} |
@ -0,0 +1,17 @@ | |||
<?php | |||
namespace App\Http\Middleware; | |||
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter; | |||
class EncryptCookies extends BaseEncrypter | |||
{ | |||
/** | |||
* The names of the cookies that should not be encrypted. | |||
* | |||
* @var array | |||
*/ | |||
protected $except = [ | |||
// | |||
]; | |||
} |
@ -0,0 +1,26 @@ | |||
<?php | |||
namespace App\Http\Middleware; | |||
use Closure; | |||
use Illuminate\Support\Facades\Auth; | |||
class RedirectIfAuthenticated | |||
{ | |||
/** | |||
* Handle an incoming request. | |||
* | |||
* @param \Illuminate\Http\Request $request | |||
* @param \Closure $next | |||
* @param string|null $guard | |||
* @return mixed | |||
*/ | |||
public function handle($request, Closure $next, $guard = null) | |||
{ | |||
if (Auth::guard($guard)->check()) { | |||
return redirect('/home'); | |||
} | |||
return $next($request); | |||
} | |||
} |
@ -0,0 +1,18 @@ | |||
<?php | |||
namespace App\Http\Middleware; | |||
use Illuminate\Foundation\Http\Middleware\TrimStrings as BaseTrimmer; | |||
class TrimStrings extends BaseTrimmer | |||
{ | |||
/** | |||
* The names of the attributes that should not be trimmed. | |||
* | |||
* @var array | |||
*/ | |||
protected $except = [ | |||
'password', | |||
'password_confirmation', | |||
]; | |||
} |
@ -0,0 +1,17 @@ | |||
<?php | |||
namespace App\Http\Middleware; | |||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; | |||
class VerifyCsrfToken extends BaseVerifier | |||
{ | |||
/** | |||
* The URIs that should be excluded from CSRF verification. | |||
* | |||
* @var array | |||
*/ | |||
protected $except = [ | |||
// | |||
]; | |||
} |
@ -0,0 +1,12 @@ | |||
<?php | |||
namespace App; | |||
use Illuminate\Database\Eloquent\Model; | |||
class Player extends Model | |||
{ | |||
protected $fillable = [ | |||
'name', 'twitter', 'photo' | |||
]; | |||
} |
@ -0,0 +1,28 @@ | |||
<?php | |||
namespace App\Providers; | |||
use Illuminate\Support\ServiceProvider; | |||
class AppServiceProvider extends ServiceProvider | |||
{ | |||
/** | |||
* Bootstrap any application services. | |||
* | |||
* @return void | |||
*/ | |||
public function boot() | |||
{ | |||
// | |||
} | |||
/** | |||
* Register any application services. | |||
* | |||
* @return void | |||
*/ | |||
public function register() | |||
{ | |||
// | |||
} | |||
} |
@ -0,0 +1,30 @@ | |||
<?php | |||
namespace App\Providers; | |||
use Illuminate\Support\Facades\Gate; | |||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; | |||
class AuthServiceProvider extends ServiceProvider | |||
{ | |||
/** | |||
* The policy mappings for the application. | |||
* | |||
* @var array | |||
*/ | |||
protected $policies = [ | |||
'App\Model' => 'App\Policies\ModelPolicy', | |||
]; | |||
/** | |||
* Register any authentication / authorization services. | |||
* | |||
* @return void | |||
*/ | |||
public function boot() | |||
{ | |||
$this->registerPolicies(); | |||
// | |||
} | |||
} |
@ -0,0 +1,21 @@ | |||
<?php | |||
namespace App\Providers; | |||
use Illuminate\Support\ServiceProvider; | |||
use Illuminate\Support\Facades\Broadcast; | |||
class BroadcastServiceProvider extends ServiceProvider | |||
{ | |||
/** | |||
* Bootstrap any application services. | |||
* | |||
* @return void | |||
*/ | |||
public function boot() | |||
{ | |||
Broadcast::routes(); | |||
require base_path('routes/channels.php'); | |||
} | |||
} |
@ -0,0 +1,32 @@ | |||
<?php | |||
namespace App\Providers; | |||
use Illuminate\Support\Facades\Event; | |||
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; | |||
class EventServiceProvider extends ServiceProvider | |||
{ | |||
/** | |||
* The event listener mappings for the application. | |||
* | |||
* @var array | |||
*/ | |||
protected $listen = [ | |||
'App\Events\Event' => [ | |||
'App\Listeners\EventListener', | |||
], | |||
]; | |||
/** | |||
* Register any events for your application. | |||
* | |||
* @return void | |||
*/ | |||
public function boot() | |||
{ | |||
parent::boot(); | |||
// | |||
} | |||
} |
@ -0,0 +1,73 @@ | |||
<?php | |||
namespace App\Providers; | |||
use Illuminate\Support\Facades\Route; | |||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; | |||
class RouteServiceProvider extends ServiceProvider | |||
{ | |||
/** | |||
* This namespace is applied to your controller routes. | |||
* | |||
* In addition, it is set as the URL generator's root namespace. | |||
* | |||
* @var string | |||
*/ | |||
protected $namespace = 'App\Http\Controllers'; | |||
/** | |||
* Define your route model bindings, pattern filters, etc. | |||
* | |||
* @return void | |||
*/ | |||
public function boot() | |||
{ | |||
// | |||
parent::boot(); | |||
} | |||
/** | |||
* Define the routes for the application. | |||
* | |||
* @return void | |||
*/ | |||
public function map() | |||
{ | |||
$this->mapApiRoutes(); | |||
$this->mapWebRoutes(); | |||
// | |||
} | |||
/** | |||
* Define the "web" routes for the application. | |||
* | |||
* These routes all receive session state, CSRF protection, etc. | |||
* | |||
* @return void | |||
*/ | |||
protected function mapWebRoutes() | |||
{ | |||
Route::middleware('web') | |||
->namespace($this->namespace) | |||
->group(base_path('routes/web.php')); | |||
} | |||
/** | |||
* Define the "api" routes for the application. | |||
* | |||
* These routes are typically stateless. | |||
* | |||
* @return void | |||
*/ | |||
protected function mapApiRoutes() | |||
{ | |||
Route::prefix('api') | |||
->middleware('api') | |||
->namespace($this->namespace) | |||
->group(base_path('routes/api.php')); | |||
} | |||
} |
@ -0,0 +1,12 @@ | |||
<?php | |||
namespace App; | |||
use Illuminate\Database\Eloquent\Model; | |||
class Team extends Model | |||
{ | |||
protected $fillable = [ | |||
'name', 'color' | |||
]; | |||
} |
@ -0,0 +1,29 @@ | |||
<?php | |||
namespace App; | |||
use Illuminate\Notifications\Notifiable; | |||
use Illuminate\Foundation\Auth\User as Authenticatable; | |||
class User extends Authenticatable | |||
{ | |||
use Notifiable; | |||
/** | |||
* The attributes that are mass assignable. | |||
* | |||
* @var array | |||
*/ | |||
protected $fillable = [ | |||
'name', 'email', 'password', | |||
]; | |||
/** | |||
* The attributes that should be hidden for arrays. | |||
* | |||
* @var array | |||
*/ | |||
protected $hidden = [ | |||
'password', 'remember_token', | |||
]; | |||
} |
@ -0,0 +1,51 @@ | |||
#!/usr/bin/env php | |||
<?php | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Register The Auto Loader | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Composer provides a convenient, automatically generated class loader | |||
| for our application. We just need to utilize it! We'll require it | |||
| into the script here so that we do not have to worry about the | |||
| loading of any our classes "manually". Feels great to relax. | |||
| | |||
*/ | |||
require __DIR__.'/bootstrap/autoload.php'; | |||
$app = require_once __DIR__.'/bootstrap/app.php'; | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Run The Artisan Application | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When we run the console application, the current CLI command will be | |||
| executed in this console and the response sent back to a terminal | |||
| or another output device for the developers. Here goes nothing! | |||
| | |||
*/ | |||
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class); | |||
$status = $kernel->handle( | |||
$input = new Symfony\Component\Console\Input\ArgvInput, | |||
new Symfony\Component\Console\Output\ConsoleOutput | |||
); | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Shutdown The Application | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Once Artisan has finished running, we will fire off the shutdown events | |||
| so that any final work may be done by the application before we shut | |||
| down the process. This is the last thing to happen to the request. | |||
| | |||
*/ | |||
$kernel->terminate($input, $status); | |||
exit($status); |
@ -0,0 +1,55 @@ | |||
<?php | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Create The Application | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The first thing we will do is create a new Laravel application instance | |||
| which serves as the "glue" for all the components of Laravel, and is | |||
| the IoC container for the system binding all of the various parts. | |||
| | |||
*/ | |||
$app = new Illuminate\Foundation\Application( | |||
realpath(__DIR__.'/../') | |||
); | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Bind Important Interfaces | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Next, we need to bind some important interfaces into the container so | |||
| we will be able to resolve them when needed. The kernels serve the | |||
| incoming requests to this application from both the web and CLI. | |||
| | |||
*/ | |||
$app->singleton( | |||
Illuminate\Contracts\Http\Kernel::class, | |||
App\Http\Kernel::class | |||
); | |||
$app->singleton( | |||
Illuminate\Contracts\Console\Kernel::class, | |||
App\Console\Kernel::class | |||
); | |||
$app->singleton( | |||
Illuminate\Contracts\Debug\ExceptionHandler::class, | |||
App\Exceptions\Handler::class | |||
); | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Return The Application | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This script returns the application instance. The instance is given to | |||
| the calling script so we can separate the building of the instances | |||
| from the actual running of the application and sending responses. | |||
| | |||
*/ | |||
return $app; |
@ -0,0 +1,17 @@ | |||
<?php | |||
define('LARAVEL_START', microtime(true)); | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Register The Composer Auto Loader | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Composer provides a convenient, automatically generated class loader | |||
| for our application. We just need to utilize it! We'll require it | |||
| into the script here so we do not have to manually load any of | |||
| our application's PHP classes. It just feels great to relax. | |||
| | |||
*/ | |||
require __DIR__.'/../vendor/autoload.php'; |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,52 @@ | |||
{ | |||
"name": "laravel/laravel", | |||
"description": "The Laravel Framework.", | |||
"keywords": ["framework", "laravel"], | |||
"license": "MIT", | |||
"type": "project", | |||
"require": { | |||
"php": ">=5.6.4", | |||
"laravel/framework": "5.4.*", | |||
"laravel/tinker": "~1.0", | |||
"thujohn/twitter": "^2.2" | |||
}, | |||
"require-dev": { | |||
"fzaninotto/faker": "~1.4", | |||
"mockery/mockery": "0.9.*", | |||
"phpunit/phpunit": "~5.7" | |||
}, | |||
"autoload": { | |||
"classmap": [ | |||
"database" | |||
], | |||
"psr-4": { | |||
"App\\": "app/" | |||
} | |||
}, | |||
"autoload-dev": { | |||
"psr-4": { | |||
"Tests\\": "tests/" | |||
} | |||
}, | |||
"scripts": { | |||
"post-root-package-install": [ | |||
"php -r \"file_exists('.env') || copy('.env.example', '.env');\"" | |||
], | |||
"post-create-project-cmd": [ | |||
"php artisan key:generate" | |||
], | |||
"post-install-cmd": [ | |||
"Illuminate\\Foundation\\ComposerScripts::postInstall", | |||
"php artisan optimize" | |||
], | |||
"post-update-cmd": [ | |||
"Illuminate\\Foundation\\ComposerScripts::postUpdate", | |||
"php artisan optimize" | |||
] | |||
}, | |||
"config": { | |||
"preferred-install": "dist", | |||
"sort-packages": true, | |||
"optimize-autoloader": true | |||
} | |||
} |
@ -0,0 +1,233 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Name | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This value is the name of your application. This value is used when the | |||
| framework needs to place the application's name in a notification or | |||
| any other location as required by the application or its packages. | |||
*/ | |||
'name' => env('APP_NAME', 'Laravel'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Environment | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This value determines the "environment" your application is currently | |||
| running in. This may determine how you prefer to configure various | |||
| services your application utilizes. Set this in your ".env" file. | |||
| | |||
*/ | |||
'env' => env('APP_ENV', 'production'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Debug Mode | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When your application is in debug mode, detailed error messages with | |||
| stack traces will be shown on every error that occurs within your | |||
| application. If disabled, a simple generic error page is shown. | |||
| | |||
*/ | |||
'debug' => env('APP_DEBUG', false), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application URL | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This URL is used by the console to properly generate URLs when using | |||
| the Artisan command line tool. You should set this to the root of | |||
| your application so that it is used when running Artisan tasks. | |||
| | |||
*/ | |||
'url' => env('APP_URL', 'http://localhost'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Timezone | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify the default timezone for your application, which | |||
| will be used by the PHP date and date-time functions. We have gone | |||
| ahead and set this to a sensible default for you out of the box. | |||
| | |||
*/ | |||
'timezone' => 'UTC', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Locale Configuration | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The application locale determines the default locale that will be used | |||
| by the translation service provider. You are free to set this value | |||
| to any of the locales which will be supported by the application. | |||
| | |||
*/ | |||
'locale' => 'en', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Application Fallback Locale | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The fallback locale determines the locale to use when the current one | |||
| is not available. You may change the value to correspond to any of | |||
| the language folders that are provided through your application. | |||
| | |||
*/ | |||
'fallback_locale' => 'en', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Encryption Key | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This key is used by the Illuminate encrypter service and should be set | |||
| to a random, 32 character string, otherwise these encrypted strings | |||
| will not be safe. Please do this before deploying an application! | |||
| | |||
*/ | |||
'key' => env('APP_KEY'), | |||
'cipher' => 'AES-256-CBC', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Logging Configuration | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may configure the log settings for your application. Out of | |||
| the box, Laravel uses the Monolog PHP logging library. This gives | |||
| you a variety of powerful log handlers / formatters to utilize. | |||
| | |||
| Available Settings: "single", "daily", "syslog", "errorlog" | |||
| | |||
*/ | |||
'log' => env('APP_LOG', 'single'), | |||
'log_level' => env('APP_LOG_LEVEL', 'debug'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Autoloaded Service Providers | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The service providers listed here will be automatically loaded on the | |||
| request to your application. Feel free to add your own services to | |||
| this array to grant expanded functionality to your applications. | |||
| | |||
*/ | |||
'providers' => [ | |||
/* | |||
* Laravel Framework Service Providers... | |||
*/ | |||
Illuminate\Auth\AuthServiceProvider::class, | |||
Illuminate\Broadcasting\BroadcastServiceProvider::class, | |||
Illuminate\Bus\BusServiceProvider::class, | |||
Illuminate\Cache\CacheServiceProvider::class, | |||
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, | |||
Illuminate\Cookie\CookieServiceProvider::class, | |||
Illuminate\Database\DatabaseServiceProvider::class, | |||
Illuminate\Encryption\EncryptionServiceProvider::class, | |||
Illuminate\Filesystem\FilesystemServiceProvider::class, | |||
Illuminate\Foundation\Providers\FoundationServiceProvider::class, | |||
Illuminate\Hashing\HashServiceProvider::class, | |||
Illuminate\Mail\MailServiceProvider::class, | |||
Illuminate\Notifications\NotificationServiceProvider::class, | |||
Illuminate\Pagination\PaginationServiceProvider::class, | |||
Illuminate\Pipeline\PipelineServiceProvider::class, | |||
Illuminate\Queue\QueueServiceProvider::class, | |||
Illuminate\Redis\RedisServiceProvider::class, | |||
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, | |||
Illuminate\Session\SessionServiceProvider::class, | |||
Illuminate\Translation\TranslationServiceProvider::class, | |||
Illuminate\Validation\ValidationServiceProvider::class, | |||
Illuminate\View\ViewServiceProvider::class, | |||
/* | |||
* Package Service Providers... | |||
*/ | |||
Laravel\Tinker\TinkerServiceProvider::class, | |||
/* | |||
* Application Service Providers... | |||
*/ | |||
App\Providers\AppServiceProvider::class, | |||
App\Providers\AuthServiceProvider::class, | |||
// App\Providers\BroadcastServiceProvider::class, | |||
App\Providers\EventServiceProvider::class, | |||
App\Providers\RouteServiceProvider::class, | |||
Thujohn\Twitter\TwitterServiceProvider::class, | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Class Aliases | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This array of class aliases will be registered when this application | |||
| is started. However, feel free to register as many as you wish as | |||
| the aliases are "lazy" loaded so they don't hinder performance. | |||
| | |||
*/ | |||
'aliases' => [ | |||
'App' => Illuminate\Support\Facades\App::class, | |||
'Artisan' => Illuminate\Support\Facades\Artisan::class, | |||
'Auth' => Illuminate\Support\Facades\Auth::class, | |||
'Blade' => Illuminate\Support\Facades\Blade::class, | |||
'Broadcast' => Illuminate\Support\Facades\Broadcast::class, | |||
'Bus' => Illuminate\Support\Facades\Bus::class, | |||
'Cache' => Illuminate\Support\Facades\Cache::class, | |||
'Config' => Illuminate\Support\Facades\Config::class, | |||
'Cookie' => Illuminate\Support\Facades\Cookie::class, | |||
'Crypt' => Illuminate\Support\Facades\Crypt::class, | |||
'DB' => Illuminate\Support\Facades\DB::class, | |||
'Eloquent' => Illuminate\Database\Eloquent\Model::class, | |||
'Event' => Illuminate\Support\Facades\Event::class, | |||
'File' => Illuminate\Support\Facades\File::class, | |||
'Gate' => Illuminate\Support\Facades\Gate::class, | |||
'Hash' => Illuminate\Support\Facades\Hash::class, | |||
'Lang' => Illuminate\Support\Facades\Lang::class, | |||
'Log' => Illuminate\Support\Facades\Log::class, | |||
'Mail' => Illuminate\Support\Facades\Mail::class, | |||
'Notification' => Illuminate\Support\Facades\Notification::class, | |||
'Password' => Illuminate\Support\Facades\Password::class, | |||
'Queue' => Illuminate\Support\Facades\Queue::class, | |||
'Redirect' => Illuminate\Support\Facades\Redirect::class, | |||
'Redis' => Illuminate\Support\Facades\Redis::class, | |||
'Request' => Illuminate\Support\Facades\Request::class, | |||
'Response' => Illuminate\Support\Facades\Response::class, | |||
'Route' => Illuminate\Support\Facades\Route::class, | |||
'Schema' => Illuminate\Support\Facades\Schema::class, | |||
'Session' => Illuminate\Support\Facades\Session::class, | |||
'Storage' => Illuminate\Support\Facades\Storage::class, | |||
'URL' => Illuminate\Support\Facades\URL::class, | |||
'Validator' => Illuminate\Support\Facades\Validator::class, | |||
'View' => Illuminate\Support\Facades\View::class, | |||
'Twitter' => Thujohn\Twitter\Facades\Twitter::class, | |||
], | |||
]; |
@ -0,0 +1,102 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Authentication Defaults | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option controls the default authentication "guard" and password | |||
| reset options for your application. You may change these defaults | |||
| as required, but they're a perfect start for most applications. | |||
| | |||
*/ | |||
'defaults' => [ | |||
'guard' => 'web', | |||
'passwords' => 'users', | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Authentication Guards | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Next, you may define every authentication guard for your application. | |||
| Of course, a great default configuration has been defined for you | |||
| here which uses session storage and the Eloquent user provider. | |||
| | |||
| All authentication drivers have a user provider. This defines how the | |||
| users are actually retrieved out of your database or other storage | |||
| mechanisms used by this application to persist your user's data. | |||
| | |||
| Supported: "session", "token" | |||
| | |||
*/ | |||
'guards' => [ | |||
'web' => [ | |||
'driver' => 'session', | |||
'provider' => 'users', | |||
], | |||
'api' => [ | |||
'driver' => 'token', | |||
'provider' => 'users', | |||
], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| User Providers | |||
|-------------------------------------------------------------------------- | |||
| | |||
| All authentication drivers have a user provider. This defines how the | |||
| users are actually retrieved out of your database or other storage | |||
| mechanisms used by this application to persist your user's data. | |||
| | |||
| If you have multiple user tables or models you may configure multiple | |||
| sources which represent each model / table. These sources may then | |||
| be assigned to any extra authentication guards you have defined. | |||
| | |||
| Supported: "database", "eloquent" | |||
| | |||
*/ | |||
'providers' => [ | |||
'users' => [ | |||
'driver' => 'eloquent', | |||
'model' => App\User::class, | |||
], | |||
// 'users' => [ | |||
// 'driver' => 'database', | |||
// 'table' => 'users', | |||
// ], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Resetting Passwords | |||
|-------------------------------------------------------------------------- | |||
| | |||
| You may specify multiple password reset configurations if you have more | |||
| than one user table or model in the application and you want to have | |||
| separate password reset settings based on the specific user types. | |||
| | |||
| The expire time is the number of minutes that the reset token should be | |||
| considered valid. This security feature keeps tokens short-lived so | |||
| they have less time to be guessed. You may change this as needed. | |||
| | |||
*/ | |||
'passwords' => [ | |||
'users' => [ | |||
'provider' => 'users', | |||
'table' => 'password_resets', | |||
'expire' => 60, | |||
], | |||
], | |||
]; |
@ -0,0 +1,58 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Broadcaster | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option controls the default broadcaster that will be used by the | |||
| framework when an event needs to be broadcast. You may set this to | |||
| any of the connections defined in the "connections" array below. | |||
| | |||
| Supported: "pusher", "redis", "log", "null" | |||
| | |||
*/ | |||
'default' => env('BROADCAST_DRIVER', 'null'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Broadcast Connections | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may define all of the broadcast connections that will be used | |||
| to broadcast events to other systems or over websockets. Samples of | |||
| each available type of connection are provided inside this array. | |||
| | |||
*/ | |||
'connections' => [ | |||
'pusher' => [ | |||
'driver' => 'pusher', | |||
'key' => env('PUSHER_APP_KEY'), | |||
'secret' => env('PUSHER_APP_SECRET'), | |||
'app_id' => env('PUSHER_APP_ID'), | |||
'options' => [ | |||
// | |||
], | |||
], | |||
'redis' => [ | |||
'driver' => 'redis', | |||
'connection' => 'default', | |||
], | |||
'log' => [ | |||
'driver' => 'log', | |||
], | |||
'null' => [ | |||
'driver' => 'null', | |||
], | |||
], | |||
]; |
@ -0,0 +1,91 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Cache Store | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option controls the default cache connection that gets used while | |||
| using this caching library. This connection is used when another is | |||
| not explicitly specified when executing a given caching function. | |||
| | |||
| Supported: "apc", "array", "database", "file", "memcached", "redis" | |||
| | |||
*/ | |||
'default' => env('CACHE_DRIVER', 'file'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Cache Stores | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may define all of the cache "stores" for your application as | |||
| well as their drivers. You may even define multiple stores for the | |||
| same cache driver to group types of items stored in your caches. | |||
| | |||
*/ | |||
'stores' => [ | |||
'apc' => [ | |||
'driver' => 'apc', | |||
], | |||
'array' => [ | |||
'driver' => 'array', | |||
], | |||
'database' => [ | |||
'driver' => 'database', | |||
'table' => 'cache', | |||
'connection' => null, | |||
], | |||
'file' => [ | |||
'driver' => 'file', | |||
'path' => storage_path('framework/cache/data'), | |||
], | |||
'memcached' => [ | |||
'driver' => 'memcached', | |||
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), | |||
'sasl' => [ | |||
env('MEMCACHED_USERNAME'), | |||
env('MEMCACHED_PASSWORD'), | |||
], | |||
'options' => [ | |||
// Memcached::OPT_CONNECT_TIMEOUT => 2000, | |||
], | |||
'servers' => [ | |||
[ | |||
'host' => env('MEMCACHED_HOST', '127.0.0.1'), | |||
'port' => env('MEMCACHED_PORT', 11211), | |||
'weight' => 100, | |||
], | |||
], | |||
], | |||
'redis' => [ | |||
'driver' => 'redis', | |||
'connection' => 'default', | |||
], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Cache Key Prefix | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When utilizing a RAM based store such as APC or Memcached, there might | |||
| be other applications utilizing the same cache. So, we'll specify a | |||
| value to get prefixed to all our keys so we can avoid collisions. | |||
| | |||
*/ | |||
'prefix' => 'laravel', | |||
]; |
@ -0,0 +1,120 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Database Connection Name | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify which of the database connections below you wish | |||
| to use as your default connection for all database work. Of course | |||
| you may use many connections at once using the Database library. | |||
| | |||
*/ | |||
'default' => env('DB_CONNECTION', 'mysql'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Database Connections | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here are each of the database connections setup for your application. | |||
| Of course, examples of configuring each database platform that is | |||
| supported by Laravel is shown below to make development simple. | |||
| | |||
| | |||
| All database work in Laravel is done through the PHP PDO facilities | |||
| so make sure you have the driver for your particular database of | |||
| choice installed on your machine before you begin development. | |||
| | |||
*/ | |||
'connections' => [ | |||
'sqlite' => [ | |||
'driver' => 'sqlite', | |||
'database' => env('DB_DATABASE', database_path('database.sqlite')), | |||
'prefix' => '', | |||
], | |||
'mysql' => [ | |||
'driver' => 'mysql', | |||
'host' => env('DB_HOST', '127.0.0.1'), | |||
'port' => env('DB_PORT', '3306'), | |||
'database' => env('DB_DATABASE', 'forge'), | |||
'username' => env('DB_USERNAME', 'forge'), | |||
'password' => env('DB_PASSWORD', ''), | |||
'unix_socket' => env('DB_SOCKET', ''), | |||
'charset' => 'utf8mb4', | |||
'collation' => 'utf8mb4_unicode_ci', | |||
'prefix' => '', | |||
'strict' => true, | |||
'engine' => null, | |||
], | |||
'pgsql' => [ | |||
'driver' => 'pgsql', | |||
'host' => env('DB_HOST', '127.0.0.1'), | |||
'port' => env('DB_PORT', '5432'), | |||
'database' => env('DB_DATABASE', 'forge'), | |||
'username' => env('DB_USERNAME', 'forge'), | |||
'password' => env('DB_PASSWORD', ''), | |||
'charset' => 'utf8', | |||
'prefix' => '', | |||
'schema' => 'public', | |||
'sslmode' => 'prefer', | |||
], | |||
'sqlsrv' => [ | |||
'driver' => 'sqlsrv', | |||
'host' => env('DB_HOST', 'localhost'), | |||
'port' => env('DB_PORT', '1433'), | |||
'database' => env('DB_DATABASE', 'forge'), | |||
'username' => env('DB_USERNAME', 'forge'), | |||
'password' => env('DB_PASSWORD', ''), | |||
'charset' => 'utf8', | |||
'prefix' => '', | |||
], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Migration Repository Table | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This table keeps track of all the migrations that have already run for | |||
| your application. Using this information, we can determine which of | |||
| the migrations on disk haven't actually been run in the database. | |||
| | |||
*/ | |||
'migrations' => 'migrations', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Redis Databases | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Redis is an open source, fast, and advanced key-value store that also | |||
| provides a richer set of commands than a typical key-value systems | |||
| such as APC or Memcached. Laravel makes it easy to dig right in. | |||
| | |||
*/ | |||
'redis' => [ | |||
'client' => 'predis', | |||
'default' => [ | |||
'host' => env('REDIS_HOST', '127.0.0.1'), | |||
'password' => env('REDIS_PASSWORD', null), | |||
'port' => env('REDIS_PORT', 6379), | |||
'database' => 0, | |||
], | |||
], | |||
]; |
@ -0,0 +1,68 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Filesystem Disk | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify the default filesystem disk that should be used | |||
| by the framework. The "local" disk, as well as a variety of cloud | |||
| based disks are available to your application. Just store away! | |||
| | |||
*/ | |||
'default' => env('FILESYSTEM_DRIVER', 'local'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Cloud Filesystem Disk | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Many applications store files both locally and in the cloud. For this | |||
| reason, you may specify a default "cloud" driver here. This driver | |||
| will be bound as the Cloud disk implementation in the container. | |||
| | |||
*/ | |||
'cloud' => env('FILESYSTEM_CLOUD', 's3'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Filesystem Disks | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may configure as many filesystem "disks" as you wish, and you | |||
| may even configure multiple disks of the same driver. Defaults have | |||
| been setup for each driver as an example of the required options. | |||
| | |||
| Supported Drivers: "local", "ftp", "s3", "rackspace" | |||
| | |||
*/ | |||
'disks' => [ | |||
'local' => [ | |||
'driver' => 'local', | |||
'root' => storage_path('app'), | |||
], | |||
'public' => [ | |||
'driver' => 'local', | |||
'root' => storage_path('app/public'), | |||
'url' => env('APP_URL').'/storage', | |||
'visibility' => 'public', | |||
], | |||
's3' => [ | |||
'driver' => 's3', | |||
'key' => env('AWS_KEY'), | |||
'secret' => env('AWS_SECRET'), | |||
'region' => env('AWS_REGION'), | |||
'bucket' => env('AWS_BUCKET'), | |||
], | |||
], | |||
]; |
@ -0,0 +1,123 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Mail Driver | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Laravel supports both SMTP and PHP's "mail" function as drivers for the | |||
| sending of e-mail. You may specify which one you're using throughout | |||
| your application here. By default, Laravel is setup for SMTP mail. | |||
| | |||
| Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses", | |||
| "sparkpost", "log", "array" | |||
| | |||
*/ | |||
'driver' => env('MAIL_DRIVER', 'smtp'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| SMTP Host Address | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may provide the host address of the SMTP server used by your | |||
| applications. A default option is provided that is compatible with | |||
| the Mailgun mail service which will provide reliable deliveries. | |||
| | |||
*/ | |||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| SMTP Host Port | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This is the SMTP port used by your application to deliver e-mails to | |||
| users of the application. Like the host we have set this value to | |||
| stay compatible with the Mailgun e-mail application by default. | |||
| | |||
*/ | |||
'port' => env('MAIL_PORT', 587), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Global "From" Address | |||
|-------------------------------------------------------------------------- | |||
| | |||
| You may wish for all e-mails sent by your application to be sent from | |||
| the same address. Here, you may specify a name and address that is | |||
| used globally for all e-mails that are sent by your application. | |||
| | |||
*/ | |||
'from' => [ | |||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), | |||
'name' => env('MAIL_FROM_NAME', 'Example'), | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| E-Mail Encryption Protocol | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify the encryption protocol that should be used when | |||
| the application send e-mail messages. A sensible default using the | |||
| transport layer security protocol should provide great security. | |||
| | |||
*/ | |||
'encryption' => env('MAIL_ENCRYPTION', 'tls'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| SMTP Server Username | |||
|-------------------------------------------------------------------------- | |||
| | |||
| If your SMTP server requires a username for authentication, you should | |||
| set it here. This will get used to authenticate with your server on | |||
| connection. You may also set the "password" value below this one. | |||
| | |||
*/ | |||
'username' => env('MAIL_USERNAME'), | |||
'password' => env('MAIL_PASSWORD'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Sendmail System Path | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When using the "sendmail" driver to send e-mails, we will need to know | |||
| the path to where Sendmail lives on this server. A default path has | |||
| been provided here, which will work well on most of your systems. | |||
| | |||
*/ | |||
'sendmail' => '/usr/sbin/sendmail -bs', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Markdown Mail Settings | |||
|-------------------------------------------------------------------------- | |||
| | |||
| If you are using Markdown based email rendering, you may configure your | |||
| theme and component paths here, allowing you to customize the design | |||
| of the emails. Or, you may simply stick with the Laravel defaults! | |||
| | |||
*/ | |||
'markdown' => [ | |||
'theme' => 'default', | |||
'paths' => [ | |||
resource_path('views/vendor/mail'), | |||
], | |||
], | |||
]; |
@ -0,0 +1,85 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Queue Driver | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Laravel's queue API supports an assortment of back-ends via a single | |||
| API, giving you convenient access to each back-end using the same | |||
| syntax for each one. Here you may set the default queue driver. | |||
| | |||
| Supported: "sync", "database", "beanstalkd", "sqs", "redis", "null" | |||
| | |||
*/ | |||
'default' => env('QUEUE_DRIVER', 'sync'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Queue Connections | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may configure the connection information for each server that | |||
| is used by your application. A default configuration has been added | |||
| for each back-end shipped with Laravel. You are free to add more. | |||
| | |||
*/ | |||
'connections' => [ | |||
'sync' => [ | |||
'driver' => 'sync', | |||
], | |||
'database' => [ | |||
'driver' => 'database', | |||
'table' => 'jobs', | |||
'queue' => 'default', | |||
'retry_after' => 90, | |||
], | |||
'beanstalkd' => [ | |||
'driver' => 'beanstalkd', | |||
'host' => 'localhost', | |||
'queue' => 'default', | |||
'retry_after' => 90, | |||
], | |||
'sqs' => [ | |||
'driver' => 'sqs', | |||
'key' => 'your-public-key', | |||
'secret' => 'your-secret-key', | |||
'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', | |||
'queue' => 'your-queue-name', | |||
'region' => 'us-east-1', | |||
], | |||
'redis' => [ | |||
'driver' => 'redis', | |||
'connection' => 'default', | |||
'queue' => 'default', | |||
'retry_after' => 90, | |||
], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Failed Queue Jobs | |||
|-------------------------------------------------------------------------- | |||
| | |||
| These options configure the behavior of failed queue job logging so you | |||
| can control which database and table are used to store the jobs that | |||
| have failed. You may change them to any database / table you wish. | |||
| | |||
*/ | |||
'failed' => [ | |||
'database' => env('DB_CONNECTION', 'mysql'), | |||
'table' => 'failed_jobs', | |||
], | |||
]; |
@ -0,0 +1,38 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Third Party Services | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This file is for storing the credentials for third party services such | |||
| as Stripe, Mailgun, SparkPost and others. This file provides a sane | |||
| default location for this type of information, allowing packages | |||
| to have a conventional place to find your various credentials. | |||
| | |||
*/ | |||
'mailgun' => [ | |||
'domain' => env('MAILGUN_DOMAIN'), | |||
'secret' => env('MAILGUN_SECRET'), | |||
], | |||
'ses' => [ | |||
'key' => env('SES_KEY'), | |||
'secret' => env('SES_SECRET'), | |||
'region' => 'us-east-1', | |||
], | |||
'sparkpost' => [ | |||
'secret' => env('SPARKPOST_SECRET'), | |||
], | |||
'stripe' => [ | |||
'model' => App\User::class, | |||
'key' => env('STRIPE_KEY'), | |||
'secret' => env('STRIPE_SECRET'), | |||
], | |||
]; |
@ -0,0 +1,179 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Session Driver | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option controls the default session "driver" that will be used on | |||
| requests. By default, we will use the lightweight native driver but | |||
| you may specify any of the other wonderful drivers provided here. | |||
| | |||
| Supported: "file", "cookie", "database", "apc", | |||
| "memcached", "redis", "array" | |||
| | |||
*/ | |||
'driver' => env('SESSION_DRIVER', 'file'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Lifetime | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify the number of minutes that you wish the session | |||
| to be allowed to remain idle before it expires. If you want them | |||
| to immediately expire on the browser closing, set that option. | |||
| | |||
*/ | |||
'lifetime' => 120, | |||
'expire_on_close' => false, | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Encryption | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option allows you to easily specify that all of your session data | |||
| should be encrypted before it is stored. All encryption will be run | |||
| automatically by Laravel and you can use the Session like normal. | |||
| | |||
*/ | |||
'encrypt' => false, | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session File Location | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When using the native session driver, we need a location where session | |||
| files may be stored. A default has been set for you but a different | |||
| location may be specified. This is only needed for file sessions. | |||
| | |||
*/ | |||
'files' => storage_path('framework/sessions'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Database Connection | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When using the "database" or "redis" session drivers, you may specify a | |||
| connection that should be used to manage these sessions. This should | |||
| correspond to a connection in your database configuration options. | |||
| | |||
*/ | |||
'connection' => null, | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Database Table | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When using the "database" session driver, you may specify the table we | |||
| should use to manage the sessions. Of course, a sensible default is | |||
| provided for you; however, you are free to change this as needed. | |||
| | |||
*/ | |||
'table' => 'sessions', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Cache Store | |||
|-------------------------------------------------------------------------- | |||
| | |||
| When using the "apc" or "memcached" session drivers, you may specify a | |||
| cache store that should be used for these sessions. This value must | |||
| correspond with one of the application's configured cache stores. | |||
| | |||
*/ | |||
'store' => null, | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Sweeping Lottery | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Some session drivers must manually sweep their storage location to get | |||
| rid of old sessions from storage. Here are the chances that it will | |||
| happen on a given request. By default, the odds are 2 out of 100. | |||
| | |||
*/ | |||
'lottery' => [2, 100], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Cookie Name | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may change the name of the cookie used to identify a session | |||
| instance by ID. The name specified here will get used every time a | |||
| new session cookie is created by the framework for every driver. | |||
| | |||
*/ | |||
'cookie' => 'laravel_session', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Cookie Path | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The session cookie path determines the path for which the cookie will | |||
| be regarded as available. Typically, this will be the root path of | |||
| your application but you are free to change this when necessary. | |||
| | |||
*/ | |||
'path' => '/', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Session Cookie Domain | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may change the domain of the cookie used to identify a session | |||
| in your application. This will determine which domains the cookie is | |||
| available to in your application. A sensible default has been set. | |||
| | |||
*/ | |||
'domain' => env('SESSION_DOMAIN', null), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| HTTPS Only Cookies | |||
|-------------------------------------------------------------------------- | |||
| | |||
| By setting this option to true, session cookies will only be sent back | |||
| to the server if the browser has a HTTPS connection. This will keep | |||
| the cookie from being sent to you if it can not be done securely. | |||
| | |||
*/ | |||
'secure' => env('SESSION_SECURE_COOKIE', false), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| HTTP Access Only | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Setting this value to true will prevent JavaScript from accessing the | |||
| value of the cookie and the cookie will only be accessible through | |||
| the HTTP protocol. You are free to modify this option if needed. | |||
| | |||
*/ | |||
'http_only' => true, | |||
]; |
@ -0,0 +1,21 @@ | |||
<?php | |||
// You can find the keys here : https://apps.twitter.com/ | |||
return [ | |||
'debug' => function_exists('env') ? env('APP_DEBUG', false) : false, | |||
'API_URL' => 'api.twitter.com', | |||
'UPLOAD_URL' => 'upload.twitter.com', | |||
'API_VERSION' => '1.1', | |||
'AUTHENTICATE_URL' => 'https://api.twitter.com/oauth/authenticate', | |||
'AUTHORIZE_URL' => 'https://api.twitter.com/oauth/authorize', | |||
'ACCESS_TOKEN_URL' => 'https://api.twitter.com/oauth/access_token', | |||
'REQUEST_TOKEN_URL' => 'https://api.twitter.com/oauth/request_token', | |||
'USE_SSL' => true, | |||
'CONSUMER_KEY' => function_exists('env') ? env('TWITTER_CONSUMER_KEY', '') : '', | |||
'CONSUMER_SECRET' => function_exists('env') ? env('TWITTER_CONSUMER_SECRET', '') : '', | |||
'ACCESS_TOKEN' => function_exists('env') ? env('TWITTER_ACCESS_TOKEN', '') : '', | |||
'ACCESS_TOKEN_SECRET' => function_exists('env') ? env('TWITTER_ACCESS_TOKEN_SECRET', '') : '', | |||
]; |
@ -0,0 +1,33 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| View Storage Paths | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Most templating systems load templates from disk. Here you may specify | |||
| an array of paths that should be checked for your views. Of course | |||
| the usual Laravel view path has already been registered for you. | |||
| | |||
*/ | |||
'paths' => [ | |||
resource_path('views'), | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Compiled View Path | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option determines where all the compiled Blade templates will be | |||
| stored for your application. Typically, this is within the storage | |||
| directory. However, as usual, you are free to change this value. | |||
| | |||
*/ | |||
'compiled' => realpath(storage_path('framework/views')), | |||
]; |
@ -0,0 +1 @@ | |||
*.sqlite |
@ -0,0 +1,24 @@ | |||
<?php | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Model Factories | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may define all of your model factories. Model factories give | |||
| you a convenient way to create models for testing and seeding your | |||
| database. Just tell the factory how a default model should look. | |||
| | |||
*/ | |||
/** @var \Illuminate\Database\Eloquent\Factory $factory */ | |||
$factory->define(App\User::class, function (Faker\Generator $faker) { | |||
static $password; | |||
return [ | |||
'name' => $faker->name, | |||
'email' => $faker->unique()->safeEmail, | |||
'password' => $password ?: $password = bcrypt('secret'), | |||
'remember_token' => str_random(10), | |||
]; | |||
}); |
@ -0,0 +1,35 @@ | |||
<?php | |||
use Illuminate\Support\Facades\Schema; | |||
use Illuminate\Database\Schema\Blueprint; | |||
use Illuminate\Database\Migrations\Migration; | |||
class CreateUsersTable extends Migration | |||
{ | |||
/** | |||
* Run the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function up() | |||
{ | |||
Schema::create('users', function (Blueprint $table) { | |||
$table->increments('id'); | |||
$table->string('name'); | |||
$table->string('email')->unique(); | |||
$table->string('password'); | |||
$table->rememberToken(); | |||
$table->timestamps(); | |||
}); | |||
} | |||
/** | |||
* Reverse the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function down() | |||
{ | |||
Schema::dropIfExists('users'); | |||
} | |||
} |
@ -0,0 +1,32 @@ | |||
<?php | |||
use Illuminate\Support\Facades\Schema; | |||
use Illuminate\Database\Schema\Blueprint; | |||
use Illuminate\Database\Migrations\Migration; | |||
class CreatePasswordResetsTable extends Migration | |||
{ | |||
/** | |||
* Run the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function up() | |||
{ | |||
Schema::create('password_resets', function (Blueprint $table) { | |||
$table->string('email')->index(); | |||
$table->string('token'); | |||
$table->timestamp('created_at')->nullable(); | |||
}); | |||
} | |||
/** | |||
* Reverse the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function down() | |||
{ | |||
Schema::dropIfExists('password_resets'); | |||
} | |||
} |
@ -0,0 +1,31 @@ | |||
<?php | |||
use Illuminate\Support\Facades\Schema; | |||
use Illuminate\Database\Schema\Blueprint; | |||
use Illuminate\Database\Migrations\Migration; | |||
class CreateTeams extends Migration | |||
{ | |||
/** | |||
* Run the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function up() | |||
{ | |||
Schema::create('teams', function (Blueprint $table) { | |||
$table->increments('id'); | |||
$table->timestamps(); | |||
}); | |||
} | |||
/** | |||
* Reverse the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function down() | |||
{ | |||
Schema::dropIfExists('teams'); | |||
} | |||
} |
@ -0,0 +1,32 @@ | |||
<?php | |||
use Illuminate\Support\Facades\Schema; | |||
use Illuminate\Database\Schema\Blueprint; | |||
use Illuminate\Database\Migrations\Migration; | |||
class CreatePlayers extends Migration | |||
{ | |||
/** | |||
* Run the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function up() | |||
{ | |||
Schema::create('players', function (Blueprint $table) { | |||
$table->increments('id'); | |||
$table->timestamps(); | |||
$table->integer('team_id'); | |||
}); | |||
} | |||
/** | |||
* Reverse the migrations. | |||
* | |||
* @return void | |||
*/ | |||
public function down() | |||
{ | |||
Schema::dropIfExists('players'); | |||
} | |||
} |
@ -0,0 +1,16 @@ | |||
<?php | |||
use Illuminate\Database\Seeder; | |||
class DatabaseSeeder extends Seeder | |||
{ | |||
/** | |||
* Run the database seeds. | |||
* | |||
* @return void | |||
*/ | |||
public function run() | |||
{ | |||
// $this->call(UsersTableSeeder::class); | |||
} | |||
} |
@ -0,0 +1,21 @@ | |||
{ | |||
"private": true, | |||
"scripts": { | |||
"dev": "npm run development", | |||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
"watch-poll": "npm run watch -- --watch-poll", | |||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
"prod": "npm run production", | |||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" | |||
}, | |||
"devDependencies": { | |||
"axios": "^0.16.2", | |||
"bootstrap-sass": "^3.3.7", | |||
"cross-env": "^5.0.1", | |||
"jquery": "^3.1.1", | |||
"laravel-mix": "^1.0", | |||
"lodash": "^4.17.4", | |||
"vue": "^2.1.10" | |||
} | |||
} |
@ -0,0 +1,31 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<phpunit backupGlobals="false" | |||
backupStaticAttributes="false" | |||
bootstrap="bootstrap/autoload.php" | |||
colors="true" | |||
convertErrorsToExceptions="true" | |||
convertNoticesToExceptions="true" | |||
convertWarningsToExceptions="true" | |||
processIsolation="false" | |||
stopOnFailure="false"> | |||
<testsuites> | |||
<testsuite name="Feature"> | |||
<directory suffix="Test.php">./tests/Feature</directory> | |||
</testsuite> | |||
<testsuite name="Unit"> | |||
<directory suffix="Test.php">./tests/Unit</directory> | |||
</testsuite> | |||
</testsuites> | |||
<filter> | |||
<whitelist processUncoveredFilesFromWhitelist="true"> | |||
<directory suffix=".php">./app</directory> | |||
</whitelist> | |||
</filter> | |||
<php> | |||
<env name="APP_ENV" value="testing"/> | |||
<env name="CACHE_DRIVER" value="array"/> | |||
<env name="SESSION_DRIVER" value="array"/> | |||
<env name="QUEUE_DRIVER" value="sync"/> | |||
</php> | |||
</phpunit> |
@ -0,0 +1,20 @@ | |||
<IfModule mod_rewrite.c> | |||
<IfModule mod_negotiation.c> | |||
Options -MultiViews | |||
</IfModule> | |||
RewriteEngine On | |||
# Redirect Trailing Slashes If Not A Folder... | |||
RewriteCond %{REQUEST_FILENAME} !-d | |||
RewriteRule ^(.*)/$ /$1 [L,R=301] | |||
# Handle Front Controller... | |||
RewriteCond %{REQUEST_FILENAME} !-d | |||
RewriteCond %{REQUEST_FILENAME} !-f | |||
RewriteRule ^ index.php [L] | |||
# Handle Authorization Header | |||
RewriteCond %{HTTP:Authorization} . | |||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | |||
</IfModule> |
@ -0,0 +1,58 @@ | |||
<?php | |||
/** | |||
* Laravel - A PHP Framework For Web Artisans | |||
* | |||
* @package Laravel | |||
* @author Taylor Otwell <taylor@laravel.com> | |||
*/ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Register The Auto Loader | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Composer provides a convenient, automatically generated class loader for | |||
| our application. We just need to utilize it! We'll simply require it | |||
| into the script here so that we don't have to worry about manual | |||
| loading any of our classes later on. It feels great to relax. | |||
| | |||
*/ | |||
require __DIR__.'/../bootstrap/autoload.php'; | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Turn On The Lights | |||
|-------------------------------------------------------------------------- | |||
| | |||
| We need to illuminate PHP development, so let us turn on the lights. | |||
| This bootstraps the framework and gets it ready for use, then it | |||
| will load up this application so that we can run it and send | |||
| the responses back to the browser and delight our users. | |||
| | |||
*/ | |||
$app = require_once __DIR__.'/../bootstrap/app.php'; | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Run The Application | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Once we have the application, we can handle the incoming request | |||
| through the kernel, and send the associated response back to | |||
| the client's browser allowing them to enjoy the creative | |||
| and wonderful application we have prepared for them. | |||
| | |||
*/ | |||
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); | |||
$response = $kernel->handle( | |||
$request = Illuminate\Http\Request::capture() | |||
); | |||
$response->send(); | |||
$kernel->terminate($request, $response); |
@ -0,0 +1,2 @@ | |||
User-agent: * | |||
Disallow: |
@ -0,0 +1,22 @@ | |||
/** | |||
* First we will load all of this project's JavaScript dependencies which | |||
* includes Vue and other libraries. It is a great starting point when | |||
* building robust, powerful web applications using Vue and Laravel. | |||
*/ | |||
require('./bootstrap'); | |||
window.Vue = require('vue'); | |||
/** | |||
* Next, we will create a fresh Vue application instance and attach it to | |||
* the page. Then, you may begin adding components to this application | |||
* or customize the JavaScript scaffolding to fit your unique needs. | |||
*/ | |||
Vue.component('example', require('./components/Example.vue')); | |||
const app = new Vue({ | |||
el: '#app' | |||
}); |
@ -0,0 +1,53 @@ | |||
window._ = require('lodash'); | |||
/** | |||
* We'll load jQuery and the Bootstrap jQuery plugin which provides support | |||
* for JavaScript based Bootstrap features such as modals and tabs. This | |||
* code may be modified to fit the specific needs of your application. | |||
*/ | |||
try { | |||
window.$ = window.jQuery = require('jquery'); | |||
require('bootstrap-sass'); | |||
} catch (e) {} | |||
/** | |||
* We'll load the axios HTTP library which allows us to easily issue requests | |||
* to our Laravel back-end. This library automatically handles sending the | |||
* CSRF token as a header based on the value of the "XSRF" token cookie. | |||
*/ | |||
window.axios = require('axios'); | |||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; | |||
/** | |||
* Next we will register the CSRF Token as a common header with Axios so that | |||
* all outgoing HTTP requests automatically have it attached. This is just | |||
* a simple convenience so we don't have to attach every token manually. | |||
*/ | |||
let token = document.head.querySelector('meta[name="csrf-token"]'); | |||
if (token) { | |||
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; | |||
} else { | |||
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); | |||
} | |||
/** | |||
* Echo exposes an expressive API for subscribing to channels and listening | |||
* for events that are broadcast by Laravel. Echo and event broadcasting | |||
* allows your team to easily build robust real-time web applications. | |||
*/ | |||
// import Echo from 'laravel-echo' | |||
// window.Pusher = require('pusher-js'); | |||
// window.Echo = new Echo({ | |||
// broadcaster: 'pusher', | |||
// key: 'your-pusher-key' | |||
// }); |
@ -0,0 +1,23 @@ | |||
<template> | |||
<div class="container"> | |||
<div class="row"> | |||
<div class="col-md-8 col-md-offset-2"> | |||
<div class="panel panel-default"> | |||
<div class="panel-heading">Example Component</div> | |||
<div class="panel-body"> | |||
I'm an example component! | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
mounted() { | |||
console.log('Component mounted.') | |||
} | |||
} | |||
</script> |
@ -0,0 +1,38 @@ | |||
// Body | |||
$body-bg: #f5f8fa; | |||
// Borders | |||
$laravel-border-color: darken($body-bg, 10%); | |||
$list-group-border: $laravel-border-color; | |||
$navbar-default-border: $laravel-border-color; | |||
$panel-default-border: $laravel-border-color; | |||
$panel-inner-border: $laravel-border-color; | |||
// Brands | |||
$brand-primary: #3097D1; | |||
$brand-info: #8eb4cb; | |||
$brand-success: #2ab27b; | |||
$brand-warning: #cbb956; | |||
$brand-danger: #bf5329; | |||
// Typography | |||
$icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/"; | |||
$font-family-sans-serif: "Raleway", sans-serif; | |||
$font-size-base: 14px; | |||
$line-height-base: 1.6; | |||
$text-color: #636b6f; | |||
// Navbar | |||
$navbar-default-bg: #fff; | |||
// Buttons | |||
$btn-default-color: $text-color; | |||
// Inputs | |||
$input-border: lighten($text-color, 40%); | |||
$input-border-focus: lighten($brand-primary, 25%); | |||
$input-color-placeholder: lighten($text-color, 30%); | |||
// Panels | |||
$panel-default-heading-bg: #fff; |
@ -0,0 +1,9 @@ | |||
// Fonts | |||
@import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600"); | |||
// Variables | |||
@import "variables"; | |||
// Bootstrap | |||
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; |
@ -0,0 +1,19 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Authentication Language Lines | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The following language lines are used during authentication for various | |||
| messages that we need to display to the user. You are free to modify | |||
| these language lines according to your application's requirements. | |||
| | |||
*/ | |||
'failed' => 'These credentials do not match our records.', | |||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', | |||
]; |
@ -0,0 +1,19 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Pagination Language Lines | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The following language lines are used by the paginator library to build | |||
| the simple pagination links. You are free to change them to anything | |||
| you want to customize your views to better match your application. | |||
| | |||
*/ | |||
'previous' => '« Previous', | |||
'next' => 'Next »', | |||
]; |
@ -0,0 +1,22 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Password Reset Language Lines | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The following language lines are the default lines which match reasons | |||
| that are given by the password broker for a password update attempt | |||
| has failed, such as for an invalid token or invalid new password. | |||
| | |||
*/ | |||
'password' => 'Passwords must be at least six characters and match the confirmation.', | |||
'reset' => 'Your password has been reset!', | |||
'sent' => 'We have e-mailed your password reset link!', | |||
'token' => 'This password reset token is invalid.', | |||
'user' => "We can't find a user with that e-mail address.", | |||
]; |
@ -0,0 +1,121 @@ | |||
<?php | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Validation Language Lines | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The following language lines contain the default error messages used by | |||
| the validator class. Some of these rules have multiple versions such | |||
| as the size rules. Feel free to tweak each of these messages here. | |||
| | |||
*/ | |||
'accepted' => 'The :attribute must be accepted.', | |||
'active_url' => 'The :attribute is not a valid URL.', | |||
'after' => 'The :attribute must be a date after :date.', | |||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.', | |||
'alpha' => 'The :attribute may only contain letters.', | |||
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', | |||
'alpha_num' => 'The :attribute may only contain letters and numbers.', | |||
'array' => 'The :attribute must be an array.', | |||
'before' => 'The :attribute must be a date before :date.', | |||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.', | |||
'between' => [ | |||
'numeric' => 'The :attribute must be between :min and :max.', | |||
'file' => 'The :attribute must be between :min and :max kilobytes.', | |||
'string' => 'The :attribute must be between :min and :max characters.', | |||
'array' => 'The :attribute must have between :min and :max items.', | |||
], | |||
'boolean' => 'The :attribute field must be true or false.', | |||
'confirmed' => 'The :attribute confirmation does not match.', | |||
'date' => 'The :attribute is not a valid date.', | |||
'date_format' => 'The :attribute does not match the format :format.', | |||
'different' => 'The :attribute and :other must be different.', | |||
'digits' => 'The :attribute must be :digits digits.', | |||
'digits_between' => 'The :attribute must be between :min and :max digits.', | |||
'dimensions' => 'The :attribute has invalid image dimensions.', | |||
'distinct' => 'The :attribute field has a duplicate value.', | |||
'email' => 'The :attribute must be a valid email address.', | |||
'exists' => 'The selected :attribute is invalid.', | |||
'file' => 'The :attribute must be a file.', | |||
'filled' => 'The :attribute field must have a value.', | |||
'image' => 'The :attribute must be an image.', | |||
'in' => 'The selected :attribute is invalid.', | |||
'in_array' => 'The :attribute field does not exist in :other.', | |||
'integer' => 'The :attribute must be an integer.', | |||
'ip' => 'The :attribute must be a valid IP address.', | |||
'ipv4' => 'The :attribute must be a valid IPv4 address.', | |||
'ipv6' => 'The :attribute must be a valid IPv6 address.', | |||
'json' => 'The :attribute must be a valid JSON string.', | |||
'max' => [ | |||
'numeric' => 'The :attribute may not be greater than :max.', | |||
'file' => 'The :attribute may not be greater than :max kilobytes.', | |||
'string' => 'The :attribute may not be greater than :max characters.', | |||
'array' => 'The :attribute may not have more than :max items.', | |||
], | |||
'mimes' => 'The :attribute must be a file of type: :values.', | |||
'mimetypes' => 'The :attribute must be a file of type: :values.', | |||
'min' => [ | |||
'numeric' => 'The :attribute must be at least :min.', | |||
'file' => 'The :attribute must be at least :min kilobytes.', | |||
'string' => 'The :attribute must be at least :min characters.', | |||
'array' => 'The :attribute must have at least :min items.', | |||
], | |||
'not_in' => 'The selected :attribute is invalid.', | |||
'numeric' => 'The :attribute must be a number.', | |||
'present' => 'The :attribute field must be present.', | |||
'regex' => 'The :attribute format is invalid.', | |||
'required' => 'The :attribute field is required.', | |||
'required_if' => 'The :attribute field is required when :other is :value.', | |||
'required_unless' => 'The :attribute field is required unless :other is in :values.', | |||
'required_with' => 'The :attribute field is required when :values is present.', | |||
'required_with_all' => 'The :attribute field is required when :values is present.', | |||
'required_without' => 'The :attribute field is required when :values is not present.', | |||
'required_without_all' => 'The :attribute field is required when none of :values are present.', | |||
'same' => 'The :attribute and :other must match.', | |||
'size' => [ | |||
'numeric' => 'The :attribute must be :size.', | |||
'file' => 'The :attribute must be :size kilobytes.', | |||
'string' => 'The :attribute must be :size characters.', | |||
'array' => 'The :attribute must contain :size items.', | |||
], | |||
'string' => 'The :attribute must be a string.', | |||
'timezone' => 'The :attribute must be a valid zone.', | |||
'unique' => 'The :attribute has already been taken.', | |||
'uploaded' => 'The :attribute failed to upload.', | |||
'url' => 'The :attribute format is invalid.', | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Custom Validation Language Lines | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may specify custom validation messages for attributes using the | |||
| convention "attribute.rule" to name the lines. This makes it quick to | |||
| specify a specific custom language line for a given attribute rule. | |||
| | |||
*/ | |||
'custom' => [ | |||
'attribute-name' => [ | |||
'rule-name' => 'custom-message', | |||
], | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Custom Validation Attributes | |||
|-------------------------------------------------------------------------- | |||
| | |||
| The following language lines are used to swap attribute place-holders | |||
| with something more reader friendly such as E-Mail Address instead | |||
| of "email". This simply helps us make messages a little cleaner. | |||
| | |||
*/ | |||
'attributes' => [], | |||
]; |
@ -0,0 +1,95 @@ | |||
<!doctype html> | |||
<html lang="{{ app()->getLocale() }}"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<title>Laravel</title> | |||
<!-- Fonts --> | |||
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css"> | |||
<!-- Styles --> | |||
<style> | |||
html, body { | |||
background-color: #fff; | |||
color: #636b6f; | |||
font-family: 'Raleway', sans-serif; | |||
font-weight: 100; | |||
height: 100vh; | |||
margin: 0; | |||
} | |||
.full-height { | |||
height: 100vh; | |||
} | |||
.flex-center { | |||
align-items: center; | |||
display: flex; | |||
justify-content: center; | |||
} | |||
.position-ref { | |||
position: relative; | |||
} | |||
.top-right { | |||
position: absolute; | |||
right: 10px; | |||
top: 18px; | |||
} | |||
.content { | |||
text-align: center; | |||
} | |||
.title { | |||
font-size: 84px; | |||
} | |||
.links > a { | |||
color: #636b6f; | |||
padding: 0 25px; | |||
font-size: 12px; | |||
font-weight: 600; | |||
letter-spacing: .1rem; | |||
text-decoration: none; | |||
text-transform: uppercase; | |||
} | |||
.m-b-md { | |||
margin-bottom: 30px; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="flex-center position-ref full-height"> | |||
@if (Route::has('login')) | |||
<div class="top-right links"> | |||
@if (Auth::check()) | |||
<a href="{{ url('/home') }}">Home</a> | |||
@else | |||
<a href="{{ url('/login') }}">Login</a> | |||
<a href="{{ url('/register') }}">Register</a> | |||
@endif | |||
</div> | |||
@endif | |||
<div class="content"> | |||
<div class="title m-b-md"> | |||
Laravel | |||
</div> | |||
<div class="links"> | |||
<a href="https://laravel.com/docs">Documentation</a> | |||
<a href="https://laracasts.com">Laracasts</a> | |||
<a href="https://laravel-news.com">News</a> | |||
<a href="https://forge.laravel.com">Forge</a> | |||
<a href="https://github.com/laravel/laravel">GitHub</a> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@ -0,0 +1,18 @@ | |||
<?php | |||
use Illuminate\Http\Request; | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| API Routes | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here is where you can register API routes for your application. These | |||
| routes are loaded by the RouteServiceProvider within a group which | |||
| is assigned the "api" middleware group. Enjoy building your API! | |||
| | |||
*/ | |||
Route::middleware('auth:api')->get('/user', function (Request $request) { | |||
return $request->user(); | |||
}); |
@ -0,0 +1,16 @@ | |||
<?php | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Broadcast Channels | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may register all of the event broadcasting channels that your | |||
| application supports. The given channel authorization callbacks are | |||
| used to check if an authenticated user can listen to the channel. | |||
| | |||
*/ | |||
Broadcast::channel('App.User.{id}', function ($user, $id) { | |||
return (int) $user->id === (int) $id; | |||
}); |
@ -0,0 +1,18 @@ | |||
<?php | |||
use Illuminate\Foundation\Inspiring; | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Console Routes | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This file is where you may define all of your Closure based console | |||
| commands. Each Closure is bound to a command instance allowing a | |||
| simple approach to interacting with each command's IO methods. | |||
| | |||
*/ | |||
Artisan::command('inspire', function () { | |||
$this->comment(Inspiring::quote()); | |||
})->describe('Display an inspiring quote'); |
@ -0,0 +1,16 @@ | |||
<?php | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Web Routes | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here is where you can register web routes for your application. These | |||
| routes are loaded by the RouteServiceProvider within a group which | |||
| contains the "web" middleware group. Now create something great! | |||
| | |||
*/ | |||
Route::get('/', function () { | |||
return view('welcome'); | |||
}); |
@ -0,0 +1,21 @@ | |||
<?php | |||
/** | |||
* Laravel - A PHP Framework For Web Artisans | |||
* | |||
* @package Laravel | |||
* @author Taylor Otwell <taylor@laravel.com> | |||
*/ | |||
$uri = urldecode( | |||
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) | |||
); | |||
// This file allows us to emulate Apache's "mod_rewrite" functionality from the | |||
// built-in PHP web server. This provides a convenient way to test a Laravel | |||
// application without having installed a "real" web server software here. | |||
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { | |||
return false; | |||
} | |||
require_once __DIR__.'/public/index.php'; |
@ -0,0 +1,3 @@ | |||
* | |||
!public/ | |||
!.gitignore |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,8 @@ | |||
config.php | |||
routes.php | |||
schedule-* | |||
compiled.php | |||
services.json | |||
events.scanned.php | |||
routes.scanned.php | |||
down |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,2 @@ | |||
* | |||
!.gitignore |
@ -0,0 +1,22 @@ | |||
<?php | |||
namespace Tests; | |||
use Illuminate\Contracts\Console\Kernel; | |||
trait CreatesApplication | |||
{ | |||
/** | |||
* Creates the application. | |||
* | |||
* @return \Illuminate\Foundation\Application | |||
*/ | |||
public function createApplication() | |||
{ | |||
$app = require __DIR__.'/../bootstrap/app.php'; | |||
$app->make(Kernel::class)->bootstrap(); | |||
return $app; | |||
} | |||
} |
@ -0,0 +1,23 @@ | |||
<?php | |||
namespace Tests\Feature; | |||
use Tests\TestCase; | |||
use Illuminate\Foundation\Testing\WithoutMiddleware; | |||
use Illuminate\Foundation\Testing\DatabaseMigrations; | |||
use Illuminate\Foundation\Testing\DatabaseTransactions; | |||
class ExampleTest extends TestCase | |||
{ | |||
/** | |||
* A basic test example. | |||
* | |||
* @return void | |||
*/ | |||
public function testBasicTest() | |||
{ | |||
$response = $this->get('/'); | |||
$response->assertStatus(200); | |||
} | |||
} |
@ -0,0 +1,10 @@ | |||
<?php | |||
namespace Tests; | |||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase; | |||
abstract class TestCase extends BaseTestCase | |||
{ | |||
use CreatesApplication; | |||
} |
@ -0,0 +1,20 @@ | |||
<?php | |||
namespace Tests\Unit; | |||
use Tests\TestCase; | |||
use Illuminate\Foundation\Testing\DatabaseMigrations; | |||
use Illuminate\Foundation\Testing\DatabaseTransactions; | |||
class ExampleTest extends TestCase | |||
{ | |||
/** | |||
* A basic test example. | |||
* | |||
* @return void | |||
*/ | |||
public function testBasicTest() | |||
{ | |||
$this->assertTrue(true); | |||
} | |||
} |
@ -0,0 +1,15 @@ | |||
let mix = require('laravel-mix'); | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Mix Asset Management | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Mix provides a clean, fluent API for defining some Webpack build steps | |||
| for your Laravel application. By default, we are compiling the Sass | |||
| file for the application as well as bundling up all the JS files. | |||
| | |||
*/ | |||
mix.js('resources/assets/js/app.js', 'public/js') | |||
.sass('resources/assets/sass/app.scss', 'public/css'); |