This project uses the Laravel 5 framework. Actually this is starter Laravel 5 project. It contains user management system, including register, login, forgotten password, change password and other related functionalities. It also contains Basic admin panel and user roles implementation. The project has also Access Control List implementation. The project uses several modules:
- laracasts/flash - module used for the flash message notifications
- fzaninotto/faker - used to generate dummy data
- barryvdh/laravel-debugbar - used for the debug bar in development mode
- nqxcode/laravel-lucene-search - full text search module
- dimsav/laravel-translatable - used to translate models. It is necessary if you plan to create multilanguage application.
- todstoychev/icr - image manipulation module based on Imagine library.
- todstoychev/table-sorter - Table sorter plugin
The project contains also several frontend plugins:
- Bootstrap 3 - can be found in
public/bs/
- jQuery 1.11.1 - can be found in
public/js/jquery.js
- Select2 3.5.2 with Bootstrap compitability - can be found in
public/select2/
- Lightbox 2.7.1 - can be found in
public/lightbox/
- FontAwesome 4.3.0 - can be found in
public/fa/
First clone the project. Than run
composer update
Depending on your OS this command may be in different format.
Than you can create your .env file as it is in Laravel 5 documentation or can use this sample:
APP_ENV=local
APP_DEBUG=true
APP_KEY=your_key_here
DB_HOST=db_host
DB_DATABASE=database_name
DB_USERNAME=database_user
DB_PASSWORD=database_password
CACHE_DRIVER=file
SESSION_DRIVER=file
[email protected]
EMAIL_PASSWORD=email_password
Put your database host, username and password. EMAIL_ADDRESS
is the application mailing service address. EMAIL_PASSWORD
is the password for the mailbox. I am using this way of configuration due to the mail.php config file commit. I do not want to distribute my email and password ;).
For more details about the .env file, check Laravel's documentation or just Google about it. There is a plenty of info out there.
First create your database and set the proper driver in the config/database.php
file.
Use the Laravel's artisan console with the common commands to run the migrations. First cd to the project directory and depending from your OS run
php artisan migrate
This project has seeders which provide the initial and some dummy data necessary for the project to run. Use:
php artisan db:seed
to run the migrations.
To create the initial Access Control List data run:
php artisan acl:update
To clear the data you can use:
php artisan acl:clear
If you add new controllers to your project, the rules for them can be set while running the update command. This command will not touch your existing database entries.
The search indexes are necessary for full text search service. So to create them run:
php artisan search:rebuild
Use 'admin' as username and 'admin' as password to enter the application. The 'admin' account has an administrator role so you have access to all application futures.
There are 2 roles in this application - admin and user. Admin role can not be deleted or edited. All other roles can be edited. Users can be deleted if they do not have something that relates to them. If you have only one active admin user, he can not be deleted or deactivated.
There is a settings module in the admin panel. You can define your site name from here. This is the name that will be shown at the navigation tab in your browser. Also you can define the locales. Use standart 2 characters locale codes. The fallback locale is used as default if the user has no choose a language from the language menu.
This is the section from where you can control your users access. Against every action in the project you will see a checkbox. The checkboxes are situated under the roles named columns. If checkbox is checked, the current role has access to this action.