Laravue — a beautiful dashboard for Laravel
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 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.