Please Note
Whilst every effort has been made to make this software ready for a release, it is provided as is, this is very much still in early alpha stages and you use it at your own risk.
This is not production ready software
A laravel way to build an API driven store online.
- Laravel >= 5.5
- Elasticsearch >= 6
We think the easiest way to get up and running is to use Valet+ with Elasticsearch. But really, it's up to you :)
You can either install just the API or the API and Hub.
This will contain everything you need to manage your store through the API endpoints.
composer require getcandy/candy-api
This will install the API and the Hub, so you have a nice interface to manage your store.
composer require getcandy/candy-hub
GetCandy supports package auto discovery
Add the three required service providers to your config/app.php
file
'providers' => [
// ...
GetCandy\Api\Providers\ApiServiceProvider::class,
GetCandy\Api\Providers\EventServiceProvider::class,
// If you have installed the hub, add this one
GetCandy\Hub\Providers\HubServiceProvider::class
],
The API needs to publish some config items and the hub needs to publish some resources (if you're using it)
php artisan vendor:publish --tag=config
// If using the hub
php artisan vendor:publish --tag=public
GetCandy doesn't have it's own User model, we figured you'd want your own, so we just use a trait:
use GetCandy\Api\Core\Traits\HasCandy;
class User extends Authenticatable
{
use HasCandy;
The API uses passport for authentication, so make sure your config/auth.php
config uses this:
This will probably be refactored into it's own gate going forward, hangover from non package days...
'guards' => [
// ...
'api' => [
'driver' => 'passport',
'provider' => 'users',
]
]
The API needs some bare minimum data to get going, for now we've just made a console command to get going:
php artisan candy:install
Follow the installation steps and you'll be able to log in and start adding products!