> For the complete documentation index, see [llms.txt](https://taffo.gitbook.io/hotcoffee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://taffo.gitbook.io/hotcoffee/getting-started/installation.md).

# Installation

{% hint style="warning" %}
Before installing **hotCoffee** make sure you have installed **Laravel 5.8** or above and **PHP 7.2** or newer.
{% endhint %}

### Step 1: Require the package

The installation process is really simple. Create a new Laravel application and include the package with the following command:

```
composer require taffovelikoff/hotcoffee
```

### Step 2: Setup the database

Create a new database and add your database credentials to the .env file. Also add your application URL in the APP\_URL variable:

```http
APP_URL=http://127.0.0.1:8000/  
DB_HOST=localhost
DB_DATABASE=hotcoffee
DB_USERNAME=root
DB_PASSWORD=mypassword
```

### Step 3: Run the installation script

After that you can run an artisan command to finalize the installation.

```php
php artisan hotcoffee:install
```

The script will ask you if you want to also install the example logic (this includes some example controllers, routes, views and dummy pages for the front-end of your app). Type "yes" or "no" and hit enter to continue.

### Step 4: Extend the user model

Edit your User model (usually app/models/User.php) and make the class extend \TaffoVelikoff\HotCoffee\User instead of Authenticatable.

```php
namespace App\Models;

class User extends \TaffoVelikoff\HotCoffee\User
{
    //
}
```

### Step 5: Create an admin user

You can now create your first admin user with a simple artisan command:

```http
php artisan hotcoffee:make-admin --name=admin --email=admin@site.com
```

### Step 6: Make sure everything went OK

Use **`php artisan serve`** to run PHP's built-in development server. The admin panel should be available on this address (or similar): [http://127.0.0.1:8000/admin/login](http://localhost/hotcoffee-docs/start.html?search=as)\
Login with your admin credential.\
\
&#x20;👏 That's it!

{% hint style="warning" %}
Seeing "Specified key was too long" error while DB is migrating?\
This may help: <https://laravel-news.com/laravel-5-4-key-too-long-error>
{% endhint %}

{% hint style="warning" %}
Seeing "Unable to prepare route … for serialization. Uses Closure." error?\
This may help: <https://github.com/laravel/framework/issues/22034>
{% endhint %}
