DEV Community

Tuan Duong
Tuan Duong

Posted on • Edited on

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

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, API will be served by Laravel itself and most of them are faked - but easy to implement.

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

# Install passport
php artisan passport:install

# install dependency
npm install

# Build for development
npm run dev # or npm run watch

# Start local development server
npm artisan serve
Enter fullscreen mode Exit fullscreen mode

Next steps

  • This project is on heavy development and it has not being built as Laravel plugin (as it should be). Next step will be a standalone plugin for Laravel to easy to integrate to existing Laravel websites.

  • Provide full documentation and strict coding convention. PHP/Laravel has an excellent PSR and VueJS has a good standard here but it's too basic and not enough.

  • Fully tests.

I greatly appreciate any feedback, comments, suggestions,... they absolutely make me and this library better. Thank you.

Also, this is my first DEV post ๐ŸŽ‰

Latest comments (63)

Collapse
 
duyan9424 profile image
Pham Cong Duy An

Thanks for the post. I forked your repo for reference.

Collapse
 
ziczacsg profile image
Vo Dac Bao

thanks Tuแบฅn

Collapse
 
ajayyadav profile image
Ajay Yadav

Is it free to use or have to pay??.?

Collapse
 
tuandm profile image
Tuan Duong

@ajayyadavexpo : It is free :)

Collapse
 
imrulhasan profile image
Md. Imrul Hasan

Nice

Collapse
 
hamdimesbah profile image
hamdimesbah

What's the necessary vue.js prerequisite to customize this great dashboard , what's the exactly modules should i learn in vue.js ?

Collapse
 
hamdimesbah profile image
hamdimesbah • Edited

now i need just to know how to update any word in my panel view ..should i have some knowledge in vuejs or somthing ?

Collapse
 
tuandm profile image
Tuan Duong

Honestly, Laravue is not too suitable for the beginner. You should know the basic knowledge of Laravel and VueJS to start with it.

Collapse
 
hamdimesbah profile image
hamdimesbah

good thanks ..i'll learn vue js

Thread Thread
 
hamdimesbah profile image
hamdimesbah

hey bro..the problem is that i cannot find anything to change in file.vue..there is no text to change

Thread Thread
 
tuandm profile image
Tuan Duong

You should learn vuejs and vue18n (kazupon.github.io/vue-i18n/). Most texts are defined in github.com/tuandm/laravue/tree/mas...

Thread Thread
 
hamdimesbah profile image
hamdimesbah

I dont need to switch language ...I use en...i need just to change words

Thread Thread
 
tuandm profile image
Tuan Duong

It's not switching language, it's the place to store text: github.com/tuandm/laravue/blob/mas...

Thread Thread
 
hamdimesbah profile image
hamdimesbah

Aa ok..thank you very mush bro and sorry for all those many questions

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
tuandm profile image
Tuan Duong

It depends on your purpose. If you already know how Laravel/Vue works, you can use laravue-core and add component one by one. Otherwise, I suggest you use Laravue directly (github.com/tuandm/laravue) to have full features, then start working on each one.

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
tuandm profile image
Tuan Duong

@hamdimesbah
You can find current documentation at at doc.laravue.dev. We are working to create more guidelines.

Thread Thread
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
tuandm profile image
Tuan Duong

@hamdimesbah : Have you run DB seeder to create sample data?

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
tuandm profile image
Tuan Duong

401 is the unauthorized request. Can you please open the Chrome console and check all the XHR requests? It's good if you can take screenshot and post here.

I suggest you creating issues on github.com/tuandm/laravue/issues so the community can help :)

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
Sloan, the sloth mascot
Comment deleted
 
tuandm profile image
Tuan Duong

Are use using Laravue or laravue-core? This class should be in laravue-core package: github.com/tuandm/laravue-core/blo....

Thread Thread
 
Sloan, the sloth mascot
Comment deleted
 
Sloan, the sloth mascot
Comment deleted
 
Sloan, the sloth mascot
Comment deleted
 
tuandm profile image
Tuan Duong

Have you run composer dump-autoload to generate classmap, which should be done automatically?

Thread Thread
 
Sloan, the sloth mascot
Comment deleted
 
Sloan, the sloth mascot
Comment deleted
 
Sloan, the sloth mascot
Comment deleted
 
tuandm profile image
Tuan Duong

Hi,

Can you please go to github.com/tuandm/laravue-core/issues, post your screenshot there?
401 means the login failed for some reason: github.com/tuandm/laravue-core/blo...

Please make sure your database has sample users, or you have to create new one using Laravel Tinker.

Again, the error "Target class [Tuandm\Laravue\Database\Seeds\DatabaseSeeder] does not exist." means that class is not added to classmap. But it's there: github.com/tuandm/laravue-core/blo...

namespace Tuandm\Laravue\Database\Seeds;
...
class DatabaseSeeder extends Seeder
Thread Thread
 
tuandm profile image
Tuan Duong
Collapse
 
akilarumesh profile image
Akila-Rumesh

Mr.Tuan Duong, Could you please explain me how to add more roles ?

Collapse
 
tuandm profile image
Tuan Duong

@akilarumesh ,

I hope this document will help you: doc.laravue.dev/guide/development/.... Let me know if you have any concern.

Collapse
 
akilarumesh profile image
Akila-Rumesh

Thank you Mr.Tuan Duong. This is really awesome. Most important thing is you replying me.. Can we make another interface to add more roles ? Thank you again.

Thread Thread
 
tuandm profile image
Tuan Duong

@akilarumesh ,

Creating new role is quite easy. We will plan for this. If you are interested in contributing into this project, PR is always welcome :).

Collapse
 
moatazabdalmageed profile image
Moataz Mohammady

Thanks for the share , And I will check it.