Laravel Boilerplate Project
Laravel Boilerplate provides a very flexible and extensible way of building your custom Laravel applications.
Table of Contents
- Features
- Theme Demo
- System Requirements
- Installation
- Run
- Docker
π - How To's & Modules configuration
- How to contribute
- Bugs and Feedback
- License
Features
- Administration Dashboard with Gentelella Admin Theme
- Responsive Layout
- Bootstrap 3
- Font Awesome
- Socialite Integration
- Invisible reCAPTCHA
- Membership plans and Access control management by NetLicensing
π - MySQL, SQLite, PostgreSQL databases support
- AWS S3 support
- Google Analytics support in frontend
- Configuration can be easily made via
analytics.php
and templatega.blade.php
- Configuration can be easily made via
- Automatic errors feedback via eMail
- i18n support and automatic user client language recognition
- Helper class
ToJs
to ease work with JavaScript variables using blade directive@tojs
- Helper class
Meta
blade directive@meta
to ease work with meta tags & properties - Models for Users and Roles
- Added Auth controller to allow registration activation by email
- Guided Tour by GuideChimp
π - Extended Auth configuration by:
- Ability to switch on/off user registration
- Set up default user role
- Ability to switch on/off registration activation email
- Captcha configuration
- Gravatar support in User model and flexible configuration via
gravatar.php
- Added library log viewer to allow printing errors in a log file
laravel.log
- Added library sortable for tables sorting
- i18n:
trans()
method replaced by__()
in order to support internationalization via JSON resources - Registration using social services (Google+, Facebook, Twitter)
- Storing last social login in user session
- Added event on SocialLogin
- Added listeners on some events; e.g. Login, Logout, Registration, SocialLogin
- Added notification
ConfirmEmail
on user account confirmation - Added policies to access backend services
- Added database seeders for Users, Roles, and UserRoles
- Improved migration
create_users_table.php
; fields added active, confirm and deleted_at for soft deletion - JavaScript / CSS minification
- JavaScript / CSS hashing
- Some very useful helper functions to ease your live :)
Theme Demo
System Requirements
To be able to run Laravel Boilerplate you have to meet the following requirements:
- PHP >= 7.4
- PHP Extensions: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, cURL, Mcrypt, GD
- Node.js >= 8.x
- Composer >= 1.9.x
Installation
- Install Composer using detailed installation instructions here
$ wget https://getcomposer.org/composer.phar
$ chmod +x composer.phar
$ mv composer.phar /usr/local/bin/composer
- Install Node.js using detailed installation instructions here
$ yum install npm
- Clone repository
$ git clone https://github.com/Labs64/laravel-boilerplate.git
- Change into the working directory
$ cd laravel-boilerplate
- Copy
.env.example
to.env
and modify according to your environment
$ cp .env.example .env
- Install composer dependencies
$ composer install --prefer-dist
- An application key can be generated with the command
$ php artisan key:generate
- Execute following commands to install other dependencies
$ npm install
$ npm run dev
- Run these commands to create the tables within the defined database and populate seed data
$ php artisan migrate --seed
Troubleshooting
-
If you get an error like a
PDOException
try editing your.env
file and changeDB_HOST=127.0.0.1
toDB_HOST=localhost
orDB_HOST=mysql
(for docker-compose environment). -
If you get a password error try this command:
# ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
Run
To start the PHP built-in server
$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/
Now you can browse the site at http://localhost:8080
Docker
Here is a Docker based local development environment prepared, which provides a very flexible and extensible way of building your custom Laravel applications.
What's Inside
This project is based on docker-compose. By default, the following containers are started: laravel-env (centos:7 based), mysql, nginx. Additional containers (phpmyadmin, mailhog) are externalized into docker-compose.utils.yml
. The /var/www/laravel-boilerplate
directory is the web root which is mapped to the nginx container.
You can directly edit configuration files from within the repo as they are mapped to the correct locations in containers.
System Requirements
To be able to run Laravel Boilerplate you have to meet the following requirements:
Run
- Clone repository
$ git clone https://github.com/Labs64/laravel-boilerplate.git
- Copy
.env.example
to.env
and modify according to your environment (make sure database host set toDB_HOST=mysql
)
$ cp .env.example .env
- Start environment
$ docker-compose up -d # to start base containers
or
$ docker-compose -f docker-compose.yml -f docker-compose.utils.yml up -d # to start base and utils containers
- Build project
$ docker exec laravel-boilerplate_laravel-env_1 ./dockerfiles/bin/prj-build.sh
or
$ docker-compose run --rm laravel-boilerplate_laravel-env_1 ./dockerfiles/bin/prj-build.sh
Now you can browse the site at http://localhost:80
- Stop environment
$ docker-compose down
or
$ docker-compose -f docker-compose.yml -f docker-compose.utils.yml down
How To's & Modules configuration
Check out project wiki pages for modules configuration and troubleshooting. For more detailed instructions on how to use Laravel and it's extensions, check out the full Laravel documentation.
How to contribute
Fork the repository, read the CONTRIBUTE file and make some changes. Once you're done with your changes send a pull request and check CI validation status. Thanks!
Contributors and Supporters
Thank you to all the contributors on this project. Your help is much appreciated!
- Clever Kids team for a great support in project structuring.
- GuideChimp - A simple, lightweight, clean and small library for creating guided product tours for your web app.
- PluginPass β WordPress PRO Plugin/Theme Licensing - Easily control the use and monetize your WordPress plugins and themes
- @veerajongit - a package that does the testing automatically every time the code or the test changes
- @rainerkent - Update to Laravel 6
Bugs and Feedback
For bugs, questions and discussions please use the GitHub Issues.
License
This boilerplate is open-source software licensed under the MIT license.