c4studio / chronos
Chronos CMS - A developer friendly headless CMS built by C4studio
Installs: 297
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Language:HTML
Requires
- php: >=7.2
- intervention/image: ^2.3
- laravel/framework: ^5.7|^6.0
- laravel/passport: >3.0
- laravelcollective/html: ^5.3|^6.0
- lavary/laravel-menu: ^1.6
Replaces
- chronos/scaffolding: v2.5.2
- dev-master
- v2.5.2
- v2.5.1
- v2.5
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3
- v2.2.19
- v2.2.18
- v2.2.17
- v2.2.16
- v2.2.15
- v2.2.14
- v2.2.13
- v2.2.12
- v2.2.11
- v2.2.10
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0
This package is auto-updated.
Last update: 2022-08-01 15:21:40 UTC
README
A developer friendly headless CMS built by C4studio.
Installation
It's as easy as:
composer require c4studio/chronos
After composer has run add following lines to the providers[] array in app/config/app.php
:
... Chronos\Scaffolding\ScaffoldingServiceProvider::class, Chronos\Content\ContentServiceProvider::class, ...
Install dependencies
You also need to add the service providers for all the dependencies in app/config/app.php
:
... Collective\Html\HtmlServiceProvider::class, Intervention\Image\ImageServiceProvider::class, Laravel\Passport\PassportServiceProvider::class, Lavary\Menu\ServiceProvider::class, ...
And also add the class aliases in the $aliases[]
array:
... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, 'Image' => Intervention\Image\Facades\Image::class, 'Menu' => Lavary\Menu\Facade::class, ...
Publish assets
Next we need to publish all the assets belonging to Chronos:
php artisan vendor:publish --tag=public
Note 1: if you would like to overwrite existing files, use the --force switch Note 2: if you wish to only publish Chronos assets, you might want to use the --provider flag.
Prepare User model
Next we need to prepare the User model to work with Chronos.
- First, let's move our User model into the App\Models namespace. It's just more organized this way.
mkdir app/Models
mv app/User.php app/Models/User.php
-
Open User.php and change the namespace to
namespace App\Models;
-
Add the ChronosUser trait to our model:
... use Notifiable, ChronosUser; ...
- Next, add some values to the appends[] array:
... /** * The accessors to append to the model's array form. * * @var array */ protected $appends = ['endpoints', 'name']; ...
- Lastly, don't forget to tell Laravel where to look for our User model. Change the line in
app/config/auth.php
to:
... 'model' => App\Models\User::class, ...
Set APP_URL
Chronos requires you to set APP_URL in your .env file
APP_URL=https://chronos.ro
Run migrations
Almost done. We need to run the migrations and seed our database:
php artisan migrate
php artisan db:seed --class=\\Chronos\\Scaffolding\\Seeds\\DatabaseSeeder
php artisan db:seed --class=\\Chronos\\Content\\Seeds\\DatabaseSeeder
Set up task scheduling
Chronos runs a couple of tasks in the background, so you will need to set up task scheduling by adding the following to your Cron entries on your server:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Install and configure Passport
- Add the following to the
boot()
method inapp/Providers/AuthServiceProvider
Passport::routes();
- In
app/Http/Kernel.php
, add the following to the$middlewareGroups[]
array:
...
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
...
- Change the driver to
passport
inconfig/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
],
- Run the install script of laravel/passport to generate our encryption keys:
php artisan passport:install
- Finally, create a new token in the Chronos admin,
Settings/Access tokens
.
P.S.: You're awesome for being on this page