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 ๐ŸŽ‰

Oldest comments (63)

Collapse
 
glennmen profile image
Glenn Carremans • Edited

This looks great! I suggested it to our web team, currently they are using AdminLTEโ€“template (unless they changed it already).

Btw you said "Laravel Lamen as API gateway" (typo Lamen = Lumen ๐Ÿ˜‰) but is that correct? Aren't you using the full Laravel framework and not the minimal Lumen version.

Collapse
 
tuandm profile image
Tuan Duong • Edited

Thanks @glennmen , I corrected the typo ๐Ÿ˜‰.

In this version, I'm using full Laravel framework because I want to experiment more on other packages - not only which Lumen offers. I will release a version for Lumen when everything is... so so ๐Ÿ˜›.

Collapse
 
glennmen profile image
Glenn Carremans

I would suggest to keep using the Lavavel framework.
Even though your dashboard will work with only Lumen it will be harder for other developers to customize and extend your dashboard for their projects. Lumen for example doesn't support views.

Thread Thread
 
tuandm profile image
Tuan Duong • Edited

@glennmen : Thanks for your suggestion. Well noted.

Collapse
 
theodesp profile image
Theofanis Despoudis

It looks sleek

Collapse
 
phattringuyen profile image
Phat Nguyen

It looks great!!!

Collapse
 
levis012 profile image
Tuyen Vu

Thanks bro, that's good

Collapse
 
ngooide profile image
ngooide

Tuan Duong, thx! Will be using this in my next coming project! I'm currently also using AdminLTE vue template.

Collapse
 
iqbaltld profile image
iqbaltld

This is the first time I am developing a Laravel Vue app. When I use 'php artisan serve', everything works fine. But when I load it with 'localhost/myProject/public', assets are not loaded. My images are in 'img' directory inside public folder. I was using blade templating to manage this issue when I use Laravel alone. But now I can't use blade since it is a Vue component. How can I run the project without 'php artisan serve'? My Ultimate aim is to deploy the project in godaddy shared server. Please help me.

Collapse
 
tuandm profile image
Tuan Duong • Edited

Hi @iqbaltld

Thanks for reaching this project. If you don't want to use php artisan serve, you should create vhost file (depends on which web server you are using) and point to /your/project/public folder, then you open browser to access to http://your_vhost_name. With the current release, Laravue doesn't support to be run as subfolder.

If you have any question, please let me know. I also suggest you open issue on github.com/tuandm/laravue/issues so that everyone can get noticed about your trouble.

Collapse
 
tuandm profile image
Tuan Duong

Hi @iqbaltld ,

Laravue now supports running in subfolder, please check the document here: doc.laravue.dev/guide/#change-the-...

Collapse
 
honganhnguyen profile image
honganhnguyen • Edited

Hello,
I am doing setup project , you setup demo. But I can't login this project. Can you help me? Thanks
Error Login: Login error
gyazo.com/8e1c4ca5e1097cd3dbc37c12...

Collapse
 
tuandm profile image
Tuan Duong

@honghanhnguyen
Sorry I didn't get the error here. Have you run the DB seeder to insert default users to DB? Or if you already have some users, please login with the correct credentials.

Collapse
 
oyelowotobiloba profile image
Oluwatobiloba

Nice one ๐Ÿค˜

Collapse
 
alfanzain profile image
alfanzain

It's look very easy if we apply 'Vue + Laravel template'.
I am trying to apply 'Vue template' to Laravel and I really don't know what should I do.

Would you like to make a tutorial how to do that? It's like none ever write the tutorial.

Collapse
 
tuandm profile image
Tuan Duong

Hi @alfanzain ,
We are working on the documentation and trying to release this month. Please keep following up.

Collapse
 
furqon profile image
furqon

Hi, This is great. Is there any chance to add ionic/capacitor so that vue can be bundled as apk?