CoreUI Free Vue Laravel Bootstrap Admin Template https://coreui.io/
Curious why I decided to create CoreUI? Please read this article: Jack of all trades, master of none. Why Bootstrap Admin Templates suck.
CoreUI offers 6 versions: Bootstrap, Angular, Laravel, React.js, Vue.js, and Vue.js + Laravel.
CoreUI is meant to be the UX game changer. Pure & transparent code is devoid of redundant components, so the app is light enough to offer ultimate user experience. This means mobile devices also, where the navigation is just as easy and intuitive as on a desktop or laptop. The CoreUI Layout API lets you customize your project for almost any device – be it Mobile, Web or WebApp – CoreUI covers them all!
CoreUI is built on top of Bootstrap 4 and supports popular frameworks.
Default Theme | Legacy Theme | Dark Layout |
---|---|---|
# clone the repo
$ git clone https://github.com/coreui/coreui-free-vue-laravel-admin-template.git my-project
# go into app's directory
$ cd my-project/laravel
# install app's dependencies
$ composer install
# install app's dependencies
$ npm install
# create database
$ touch database/database.sqlite
Copy file “.env.example”, and change its name to “.env”.
Then in file “.env” replace this database configuration:
To this:
DB_CONNECTION=sqlite
DB_DATABASE=/path_to_your_project/database/database.sqlite
Install PostgreSQL
Create user
$ sudo -u postgres createuser --interactive
enter name of role to add: laravel
shall the new role be a superuser (y/n) n
shall the new role be allowed to create database (y/n) n
shall the new role be allowed to create more new roles (y/n) n
$ sudo -u postgres psql
postgres= ALTER USER laravel WITH ENCRYPTED PASSWORD 'password';
postgres= \q
$ sudo -u postgres createdb laravel
To this:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=password
$ mysql -uroot -p
mysql> create database laravel;
Create a user with privileges to the laravel database (root user may not work while it requires a sudo)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
# in your app directory
# generate laravel APP_KEY
$ php artisan key:generate
# generate jwt secret
$ php artisan jwt:secret
# run database migration and seed
$ php artisan migrate:refresh --seed
# go to coreui directory
$ cd ../coreui
# install app's dependencies
$ npm install
# test
$ php vendor/bin/phpunit
# back to laravel directory
$ cd ../laravel
# start local server
$ php artisan serve
$ cd ../coreui
$ npm run serve
Open your browser with address: localhost:8080
If you need change backend adress go to file /coreui/src/main.js
And change line:
Vue.prototype.$apiAdress = 'http://127.0.0.1:8000'
Route::get('/{any}', function () {
return view('coreui.homepage');
})->where('any', '.*');
'root' => public_path() . '/../../coreui/public/public',
To this:
'root' => public_path('public'),
changePort: 'localhost:8080',
To this:
changePort: 'localhost:8000',
# back to laravel directory
$ cd ../laravel
# generate mixing
$ npm run dev
# and repeat generate mixing
$ npm run dev
# start local server
$ php artisan serve
Open your browser with address: localhost:8000
Click “Login” on sidebar menu and log in with credentials:
This user has roles: user and admin
Instructions for CoreUI Free Vue Laravel admin template only. Pro version have separate instruction.
my-project/database/seeds/MenusTableSeeder.php
In run()
function - add insertLink()
:
$id = $this->insertLink( $rolesString, $visibleName, $href, $iconString);
$rolesString
- a string with list of user roles this menu element will be available, ex. "guest,user,admin"
$visibleName
- a string caption visible in sidebar$href
- a href, ex. /homepage
or http://example.com
$iconString
- a string containing valid CoreUI Icon name (kebab-case), ex. cil-speedometer
or cil-pencil
To add a title to the sidebar - use function insertTitle()
:
$id = $this->insertTitle( $rolesString, $title );
$rolesString
- a string with list of user roles this menu element will be available, ex. "guest,user,admin"
$title
- a string caption visible in sidebarTo add a dropdown menu to the sidebar - use function beginDropdown()
:
$id = $this->beginDropdown( $rolesString, $visibleName, $href, $iconString);
$rolesString
- a string with list of user roles this menu element will be available, ex. "guest,user,admin"
$visibleName
- a string caption visible in sidebar$href
- a href, ex. /homepage
or http://example.com
$iconString
- a string containing valid CoreUI icon name (kebab-case). For example: cil-speedometer
or cil-pencil
To end dropdown section - use function endDropdown()
.
To add link to dropdown call function insertLink()
between function calls beginDropdown()
and endDropdown()
.
Example:
$id = $this->beginDropdown('guest,user,admin', 'Some dropdown', 'http://example.com', 'cil-puzzle');
$id = $this->insertLink('guest,user,admin', 'Dropdown name', 'http://example.com');
$this->endDropdown();
IMPORTANT - At the end of run()
function, call joinAllByTransaction()
function:
$this->joinAllByTransaction();
Once done with seeds file edit, run:
$ php artisan migrate:refresh --seed
# This command also rollbacks database and migrates it again.
It is an example of data presentation in a pagination table, and CRUD functionality.
It is a simple example of how to manage registered users.
Menu management allows you to toggle the visibility of menu items for individual user roles.
Allows you to create, edit, delete and reorder user roles.
When a user has more than one role, the highest hierarchical role is used to create a menu for him.
It allows to:
BREAD stands for: browse, read, edit, add, delete.
Our BREAD system allows you to easily and quickly generate for any table, from the database, a simple BREAD.
To create a new BREAD just enter a table name from the database. Then enter a name for the form. Enter the number of rows in the browse table. Choose if you want the browse table to contain buttons: “show”, “edit”, “add”, “delete”.
Assign roles for users who will be able to use the ready BREAD.
Then complete each column of the table separately:
It is an example of managing e-mail templates. Allows you to create, edit and delete templates. It also allows you to send an E-mail to a selected address.
Łukasz Holeczek
CoreUI Team
Get updates on CoreUI’s development and chat with the project maintainers and community members.
Some of projects created by community but not maintained by CoreUI team.
CoreUI Icons are beautifully crafted symbols for common actions and items. You can use them in your digital products for web or mobile app. Ready-to-use fonts and stylesheets that work with your favorite frameworks.
copyright 2018 creativeLabs Łukasz Holeczek. Code released under the MIT license.
There is only one limitation you can’t can’t re-distribute the CoreUI as stock. You can’t do this if you modify the CoreUI. In past we faced some problems with persons who tried to sell CoreUI based templates.
CoreUI is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support development by donating on PayPal, buying CoreUI Pro Version or buying one of our premium admin templates.
As of now I am exploring the possibility of working on CoreUI fulltime - if you are a business that is building core products using CoreUI, I am also open to conversations regarding custom sponsorship / consulting arrangements. Get in touch on Twitter.