Installation

For upgrading from an earlier AppShell versions refer to the Upgrade section.

Create New AppShell Project

composer create-project laravel/laravel myapp
# Wait 1-4 minutes to complete ...
cd myapp
composer require konekt/appshell
touch config/concord.php

Edit config/concord.php and add this content to it:

<?php

return [
    'modules' => [
        Konekt\AppShell\Providers\ModuleServiceProvider::class
    ]
];

Register The Service Provider (Laravel 5.4 Only)

Edit config/app.php and add this line to the providers array (below 'Package Service Providers', always above 'Application Service Providers')

(Recommended line: just below tinker's service provider)

Konekt\Concord\ConcordServiceProvider::class,

Test if it works by invoking the command

php artisan concord:modules

Now you should see this:

+----+---------------------+------+---------+------------------+-----------------+
| #  | Name                | Kind | Version | Id               | Namespace       |
+----+---------------------+------+---------+------------------+-----------------+
| 1. | Konekt AppShell Box | Box  | 0.9.10  | konekt.app_shell | Konekt\AppShell |
+----+---------------------+------+---------+------------------+-----------------+

TIP: Try php artisan concord:modules -a to see ALL modules

Configure .env, along with a database.

Afterwards run the migrations:

php artisan migrate

AppShell contains ~10-15 migrations out of the box

If running with linux + apache/nginx these commands are useful:

sudo chown -R .www-data storage/

sudo chmod -R g+w storage/

Laravel Auth Support

First, Run php artisan make:auth

If the "final" user class is not going to be App\User then don't forget to modify model class this to your app's config/auth.php file:

    //...
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            // 'model' => App\User::class <- change this to:
            'model' => Konekt\AppShell\Models\User::class,
        ],
    //...

OR: Another approach is to keep App\User but modify the class to extend AppShell's user model:

namespace App;

// No need to use Laravel default traits and properties as
// they're already present in the base class

class User extends \Konekt\AppShell\Models\User {}

And add this to you AppServiceProviders's boot method:

   $this->app->concord->registerModel(\Konekt\User\Contracts\User::class, \App\User::class);

Create An Initial Super User

Run command php artisan appshell:super.

This will ask a several questions and create a proper superuser that you can start working with.


Next: Application Prerequisites »