labs64 / laravel-boilerplate
Laravel Boilerplate
Fund package maintenance!
www.paypal.me/labs64
Installs: 64
Dependents: 0
Suggesters: 0
Security: 0
Stars: 917
Watchers: 57
Forks: 328
Open Issues: 2
Type:project
Requires
- php: >=7.2.5
- albertcht/invisible-recaptcha: ^1.9
- arcanedev/log-viewer: ^7.0
- creativeorange/gravatar: ^1.0
- davejamesmiller/laravel-breadcrumbs: ^5.2
- fruitcake/laravel-cors: ^1.0
- kyslik/column-sortable: ^6.1
- labs64/netlicensingclient-php: ^2.4
- laravel/framework: ^7.0
- laravel/socialite: ^4.1
- laravel/tinker: ^2.0
- laravel/ui: ^2.0
- laravelcollective/html: ^6.1.0
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.2
- barryvdh/laravel-ide-helper: ^2.6
- doctrine/dbal: ^2.9
- filp/whoops: ^2.3
- fzaninotto/faker: ^1.8
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^8.5
- spatie/phpunit-watcher: ^1.12
README
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 environmentcp .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
ordocker-compose down
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.