Laravue — a beautiful dashboard for Laravel

Tuan Duong
2 min readOct 15, 2019

--

Introductions

Couple months ago I was trying to find a new solution for my project, and I had built a SPA dashboard with Vue (using this great framework, Laravel Lumen as API gateway, Laravel Passport as SSO server). After some weeks of working, I found that architecture has some limitations, especially in deployment and hard to open source (because many components involved, CORS setup,…). Then one day new idea came to me:

Why don’t we use builtin VueJS of Laravel to build a SPA dashboard?

And Laravel + VueJS = Laravue

Demo: https://laravue.dev
Documentation: https://doc.laravue.dev
Source code: https://github.com/tuandm/laravue

Laravue dashboard

Laravue is a beautiful dashboard inspired by vue-element-admin but beyond that. It provides all necessary components for building an enterprise application for admin to control business and manage others. My plan is to apply newest technologies/libraries/components of Laravel/Vue to this project and make it easy to use for everyone. In the demo, I have created simple User/Role/Permission management (thanks to https://github.com/spatie/laravel-permission) which will the good guideline for new developers can start with Laravel/VueJS.

Features

- Login / Logout

- ACL - Access Control List
- Users management
- Roles and permissions management
- Directives for permission and role

- Global Features
- I18n
- Dynamic sidebar with ACL integration (supports multi-level routing)
- Dynamic breadcrumb
- Historical bar using Tags-view with right-click supported
- Svg Sprite
- Responsive Sidebar

- Editor
- Rich Text Editor
- Markdown Editor
- JSON Editor

- Excel
- Import/Export Excel
- Export zip
- Visualization Excel

- Table
- Dynamic Table
- Drag And Drop Table
- Tree Table
- Inline Edit Table

- Error Page
- 401
- 404

- Components
- Avatar Upload
- Back To Top
- SplitPane
- Dropzone
- Sticky
- BackToTop button
- CountTo
- Kanban board
- Draggable list
- Draggable popup dialog
- And more... (https://laravue.dev/#/dashboard)

- Advanced Example
- Dashboard
- Guide Page
- ECharts
- Clipboard
- Layout elements (Form, Tab, Icons...)

Getting started

# Clone the project with composer
composer create-project tuandm/laravue
cd laravue
# Migration and DB seeder (after changing your DB settings in .env)
php artisan migrate --seed
# Generate JWT secret key
php artisan jwt:secret
# install dependency
yarn install
# Build for development
yarn run dev # or yarn run watch
# Start local development server
php artisan serve

Next steps

This project is still beta release since it needs more features to be considered as stable like:
- Basic but enough tests
- Better documents and development guidelines
- Create Larave preset
- Use Laravel passport instead of JWT

There are many things to do with this project because it has many spaces to develop. I greatly appreciate any feedback, comments, suggestions,… they absolutely make me and this project better.

--

--