Skip to content

Manual installation and setup

Thorazine edited this page Aug 11, 2017 · 2 revisions

Installing Hack

Please note that the manual setup can be avoided by running the simple setup as defined on the main page

Run

composer require thorazine/hack

##Add to config/app.providers:

Collective\Html\HtmlServiceProvider::class,
Barryvdh\Debugbar\ServiceProvider::class,
Thorazine\Hack\HackServiceProvider::class,
Thorazine\Hack\Providers\BuilderServiceProvider::class,
Thorazine\Hack\Providers\CmsServiceProvider::class,
Thorazine\Hack\Providers\FrontServiceProvider::class,
Thorazine\Hack\Providers\ValidationServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
Cartalyst\Sentinel\Laravel\SentinelServiceProvider::class,
Jenssegers\Agent\AgentServiceProvider::class,
Maatwebsite\Excel\ExcelServiceProvider::class,
Thorazine\Hack\Providers\RouteServiceProvider::class,
Thorazine\Location\LocationServiceProvider::class,

Add to config/app.aliases:

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
'Debugbar' => Barryvdh\Debugbar\Facade::class,
'Image' => Intervention\Image\Facades\Image::class,
'Activation' => Cartalyst\Sentinel\Laravel\Facades\Activation::class,
'Reminder' => Cartalyst\Sentinel\Laravel\Facades\Reminder::class,
'Sentinel' => Cartalyst\Sentinel\Laravel\Facades\Sentinel::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
'Builder' => Thorazine\Hack\Facades\BuilderFacade::class,
'Cms' => Thorazine\Hack\Facades\CmsFacade::class,
'Front' => Thorazine\Hack\Facades\FrontFacade::class,
'Location' => Thorazine\Location\Facades\LocationFacade::class,

Asset and database deployment

Run (although you might want to look at your migration folder first)

php artisan vendor:publish --tag=hack --force
php artisan migrate
npm install
npm run dev

Database

The default setting for strictness of the database is set to true. This needs to be false for the system to work since we use the eloquent groupBy.

Filesystem

This package uses the default Laravel Filesystem to handle storage. For settings take a look at the Laravel docs. Personally I like to start of with the public driver setting and the php artisan storage:link command. To do so add FILESYSTEM_DRIVER=public to the .env file. Obviously you are going to want to have the url availible on whatever driver you use.

Cache

We use tags to control the cache. So set .env CACHE_DRIVER to array, memcached or redis. file will not do. To set the cache time for the pages you can add PAGE_CACHE_TIME=[minutes]. The default has been set to 1 minute cache. But you can set it to whatever you want.

Important

Make sure you have a mail driver setup. If you don't have that option just use log although I recommend Mailhog. But be sure to make it functional on the production server as we send out mails to confirm the location when needed.

Make sure your .env file is in order, especially the APP_URL which is used by the filesystem locally.

Also, to properly work with locations we use the Google api. You are going to want to get a key at Google. Once you have an api key add GOOGLE_KEY=[key] to your .env file.

Testing

You can run a test to see if the settings you provided are all there. You can find more (here)[https://github.com/Thorazine/hack/wiki/testing].

Setup your site

Just visit http://[domain]/cms and fill in the blancs.

Example website

To get started you can seed the database with a simple Hack website. The seeder can be run by executing

php artisan db:seed --class=Thorazine\\Hack\\Database\\Seeds\\HackExampleSite