Skip to content

laravelha/poc-api

Repository files navigation

Laravelha POC

Proof of concept to preset-api and generator --api commands

Screenshots

Categories News/Articles

How to reproduce?

  1. install laravel fresh app
composer create-project --prefer-dist laravel/laravel poc-api && cd poc-api
  1. Install laravelha/preset-api
composer require laravelha/preset-api
  1. Install laravelha/generator
composer require laravelha/generator
  1. Publish laravelha generator config file
php artisan vendor:publish --tag=ha-generator

The following generators commands were executed:

php artisan ha-generator:crud Category -a -s 'title:string(150), description:text:nullable, published_at:timestamp:nullable'
php artisan ha-generator:crud Post -a -s 'title:string(150), content:text, published_at:timestamp:nullable, category_id:unsignedBigInteger:foreign'
php artisan ha-generator:package news
php artisan ha-generator:crud Article -a -s 'title:string(150), content:text, published_at:timestamp:nullable'

Run migrations and factories

After set database in .env

php artisan migrate

Run tinker and factory create

php artisan tinker

# generate 50 posts and categories
factory(\App\Post::class, 50)->create();  

factory(\Laravelha\News\Models\Article::class, 50)->create();

This project use RequestQueryBuildable see about on laravelha/suppot

About the packages

After run php artisan ha-generator:package is need publish the package and install via composer to auto discovered or follow this steps:

1 - Add psr4 on composer

"psr-4": {
    "App\\": "app/",
    "Laravelha\\News\\": "packages/news/"
},
  1. Add services providers on config/app.php
Laravelha\News\Providers\NewsServiceProvider::class,
Laravelha\News\Providers\RouteServiceProvider::class,
  1. add folder to get annotations on config/l5-swagger
'annotations' => [
    base_path('app'),
    base_path('packages'),
],
  1. run composer dump and php artisan config:cache

About

[POC] Example app to preset-api and generate --api commands

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published