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
- jQuery 1.11.1 - can be found in
- Select2 3.5.2 with Bootstrap compitability - can be found in
- Lightbox 2.7.1 - can be found in
- FontAwesome 4.3.0 - can be found in
First clone the project. Than run
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_ADDRESSfirstname.lastname@example.org 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.
Run the migrations
First create your database and set the proper driver in the
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
Add some dummy data
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.
Create Access Control List
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.
Create search indexes
The search indexes are necessary for full text search service. So to create them run:
php artisan search:rebuild
Your first login
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.
About the user management
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.
Settings (Admin panel)
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.