All Projects → tuandm → Laravue Core

tuandm / Laravue Core

Licence: mit
Laravel package to provide core functionalities of Laravue dashboard

Projects that are alternatives of or similar to Laravue Core

Flarum
Flarum - 优雅自由的 PHP 轻社区
Stars: ✭ 1,588 (+1121.54%)
Mutual labels:  laravel
Laravel Package Generator
A laravel package generator
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
Oc Mall Plugin
🏪 E-commerce solution for October CMS
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
L5 Very Basic Auth
Stateless HTTP basic auth for Laravel without the need for a database.
Stars: ✭ 127 (-2.31%)
Mutual labels:  laravel
Nova Belongsto Depend
Larave Nova BelongsTo Field with Dependcy
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
Aimeos
Integrated online shop based on Laravel 8 and the Aimeos e-commerce framework
Stars: ✭ 2,354 (+1710.77%)
Mutual labels:  laravel
Wxxcx
Laravel5微信小程序登录获取用户信息扩展
Stars: ✭ 127 (-2.31%)
Mutual labels:  laravel
Laravel Social Email Authentication
Laravel 5.3 bootstrap app with Multi Auth, Social and Email Authentication. Google re-Captcha, Facebook, Twitter, G+ and much more..
Stars: ✭ 129 (-0.77%)
Mutual labels:  laravel
Laravel Handlers
Request handlers for Laravel
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
Laravel Swagger
Auto generates the swagger documentation of a laravel project based on best practices and simple assumptions
Stars: ✭ 129 (-0.77%)
Mutual labels:  laravel
Cakebox
Framework agnostic virtual PHP Development Environment
Stars: ✭ 127 (-2.31%)
Mutual labels:  laravel
Denovel
A Deno Framework For Web Artisan - Inspired by Laravel
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
Vim Laravel
Vim support for Laravel/Lumen projects
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel
Footprints
🐾 A simple registration attribution tracking solution for Laravel (UTM Parameters and Referrers)
Stars: ✭ 127 (-2.31%)
Mutual labels:  laravel
Laravel Fcm
Firebase Cloud Messaging (FCM) sender for Laravel
Stars: ✭ 129 (-0.77%)
Mutual labels:  laravel
Laragol
Laravel clone in go
Stars: ✭ 127 (-2.31%)
Mutual labels:  laravel
Laravel Phone
Phone number functionality for Laravel
Stars: ✭ 1,806 (+1289.23%)
Mutual labels:  laravel
Laravel Database Schedule
Manage your Laravel Task Scheduling in a friendly interface and save schedules to the database.
Stars: ✭ 94 (-27.69%)
Mutual labels:  laravel
Barn
Ansible playbooks for Laravel applications
Stars: ✭ 129 (-0.77%)
Mutual labels:  laravel
Laravel Auth
A powerful authentication, authorization and verification package built on top of Laravel. It provides developers with Role Based Access Control, Two-Factor Authentication, Social Authentication, and much more, compatible Laravel’s standard API and fully featured out of the box.
Stars: ✭ 128 (-1.54%)
Mutual labels:  laravel

Laravue Core

The Laravel package to provide core functionalities for a beautiful Laravel dashboard

Demo: https://core.laravue.dev

Getting Started

Laravue provides necessary Element UI and rich features for an enterprise admin dashboard, therefore it's highly recommended to use for starting a project. The following instructions are for intergrating core features of Laravue to existing Laravel project or to experiement with it.

Prerequisites

Laravue is built on top of Laravel and so you have to check Laravel's system requirement and make sure your your NodeJS is ready before starting.

Installing

Install laravue-core package with composer

composer require tuandm/laravue-core

1.a Setup Laravue with all-in-one command

php artisan laravue:setup

This command will do these steps:

  • Setup JWT secret and API endpoint
  • Publish Laravue vendor packages/assets
  • Install NPM dependencies
  • Create .babelc file (if it doesn't exist)
  • Setup webpack.mix.js (please backup this file to make sure the current setting will not be lost)

Laravue setup

1.b Manual setup

It's recommended to use laravue:setup command. If you want to manually install, you can do following setps:

.env file

Generate JWT secret for authentication

php artisan jwt:secret

Add these two lines to .env file

  BASE_API=/api
  MIX_BASE_API="${BASE_API}"
Publish vendor packages/assets
php artisan vendor:publish --provider="Tuandm\Laravue\ServiceProvider" --tag="laravue-core"
php artisan vendor:publish --provider="Tuandm\Laravue\ServiceProvider" --tag="laravue-asset"
Add NPM dependencies
npm add babel-plugin-syntax-dynamic-import babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx eslint eslint-loader eslint-plugin-vue laravel-mix-eslint vue-template-compiler svg-sprite-loader --save-dev

npm add element-ui js-cookie normalize.css nprogress vuex vue-count-to vue-i18n vue-router 

npm install # To make sure everything is set

Please check package.json sample

Webpack.mix.js configuration

We need to modify the webpack.mix.js to work with Laravue package, please refer to webpack.mix.js sample

Or simply run this command to generate recommendation version.

php artisan laravue:webpack
Babel

Laravue requires babel to build the packages. Usually, .babelrc will be generated with laravue:setup command. Please manual add required plugins to .babelrc file if your project already uses it. Sample .babelrc can be found here

2. Config API guard

Open config/auth.php and modify as below

    # Change default auth guard to api
    'defaults' => [
        'guard' => 'api',
    ],
    ...
    # Use JWT driver for api guard
    'guards' => [
    ....
    'api' => [
        'driver' => 'jwt',
    ....
    
    # Use Laravue User model to authenticate
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => Tuandm\Laravue\User::class,
        ],

Please refer to auth.php sample

3. Database

Laravue core requires users.role field, consider to run migration if neccessary

php artisan migrate

4. Sample data

This database seeder will insert 3 test users, you can ignore this step if you have data already.

php artisan db:seed --class=Tuandm\\Laravue\\Database\\Seeds\\DatabaseSeeder

Start development

npm run dev # or npm run watch

Build production

npm run production

Running the tests

  • Tests system is under development.

Built with

  • Laravel - The PHP Framework For Web Artisans
  • VueJS - The Progressive JavaScript Framework
  • Element - A Vue 2.0 based component library for developers, designers and product managers
  • Vue Admin Template - A minimal vue admin template with Element UI

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Tuan Duong - Initial work - tuandm

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgements

  • Laravue - A beautiful dashboard for Laravel built by VueJS and ElementUI
  • vue-element-admin A magical vue admin which insprited Laravue project
  • tui.editor - Markdown WYSIWYG Editor
  • Echarts - A powerful, interactive charting and visualization library for browser
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].