Server-side API Starter Kit used for data consumption (see client sample implementation here). It includes a full custom SPA admin based on Vue CoreUI (Bootstrap 4).
- SPA admin,
- User management,
- Impersonation feature,
- Submissions management,
- Mini-cms (posts and pages),
- Rich seeders content,
- Swagger UI for API documentation, usable for code generation (see client sample).
- Based on the last Laravel 6,
- Spatie Image for on-fly optimized images via proxy,
- Google Recaptcha for server-side captcha,
- Clockwork for easy api debugging.
- Spatie Translatable for multilanguage model support,
- Spatie Sortable for sortable model,
- Spatie Laravel Tags for dedicated tag model,
- Spatie Enum for enums support,
- Spatie Medialibrary for centralized media table management,
- Spatie Backup for quick backup/export.
- Laravel CORS for cross-origin resource sharing,
- Spatie Fractal for specific api data transform,
- Swagger UI for api documentation generation.
- Full SPA based on Vue CoreUI and Bootstrap-Vue template,
- Many useful plugins (SweetAlert2, Flatpickr, CKEditor 4, etc.),
- Excel Export (thanks to Maatwebsite) & Batch actions integrated within DataTables,
- CKeditor 4 configured only with the mostly common used features (autogrow, embed, horizontalrule, image2 plugins),
- Elfinder for files management, integrated within Ckeditor 4,
- Ziggy for client-side route naming.
- PHP-CS-Fixer for automatically fix PHP CS issues,
- Webpack Encore for assets building,
- Vue ESLint Plugin for vue templates linting,
- Prettier as opinionated code formatter.
- PHP 7.3
- MySQL 5.7 with JSON support or PostgreSQL
# install dependencies
$ composer install
# copy .env.example & configure environnement variables
# generate key
$ php artisan key:generate
# set storage symlink
$ php artisan storage:link
# publish elfinder assets
$ php artisan elfinder:publish
# migrate & seed data
$ php artisan migrate [--seed]
# start dev server at localhost:8000
$ php artisan serve
- API Swagger documentation can be accessed and tested at http://localhost:8000/api/documentation.
- Look at "OA\*" PHP annotations on API controllers (app/Api/Controllers) for enpoints and transformers (app/Transformers) for models in order to know how to build documentation.
- PHP Annotations for PHPStorm is heavily recommended for Swagger docs autocompletion.
- Use "L5_SWAGGER_GENERATE_ALWAYS=true" environnement variable (on local only) to autogenerate api docs.
- If error on Swagger UI, use
php artisan l5-swagger:generate
to get traces.
# install dependencies
yarn
# compiling admin assets with HMR support
yarn dev-server --port 9000
Admin is accessible by default at http://localhost:8000/admin, but path can be customized via APP_ADMIN_PATH environment variable.
PHP-CS-Fixer & ESLint+Prettier are used for style guidelines for both server and client side code.
PHP is pre-configured for official Laravel styling, just launch ./vendor/bin/php-cs-fixer fix
for global project auto-formatting.
JS use Prettier Standard Style & eslint-loader is used within webpack for dynamic code styling recommendations.
Moreover, Official ESLint plugin for Vue.js is included for heavy consistent code through all components vue files.
This project is open-sourced software licensed under the MIT license.