/laravel-boilerplate

Laravel 5 Boilerplate / Starter kit with Gentelella Admin Theme

Primary LanguagePHPMIT LicenseMIT

Build Status PHP Badge Latest Stable Version Total Downloads License Stories in Ready

Laravel 5 Boilerplate Project

Laravel Boilerplate provides a very flexible and extensible way of building your custom Laravel 5 applications.

Table of Contents

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 template ga.blade.php
  • 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
  • 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

Gentelella Bootstrap Admin Template

Gentelella Admin Theme Demo

System Requirements

To be able to run Laravel Boilerplate you have to meet the following requirements:

  • PHP > 7.0
  • PHP Extensions: PDO, cURL, Mbstring, Tokenizer, Mcrypt, XML, GD
  • Node.js > 6.0
  • Composer > 1.0.0

Installation

  1. Install Composer using detailed installation instructions here
  2. Install Node.js using detailed installation instructions here
  3. Clone repository
$ git clone https://github.com/Labs64/laravel-boilerplate.git
  1. Change into the working directory
$ cd laravel-boilerplate
  1. Copy .env.example to .env and modify according to your environment
$ cp .env.example .env
  1. Install composer dependencies
$ composer install --prefer-dist
  1. An application key can be generated with the command
$ php artisan key:generate
  1. Execute following commands to install other dependencies
$ npm install
$ npm run dev
  1. Run these commands to create the tables within the defined database and populate seed data
$ php artisan migrate --seed

If you get an error like a PDOException try editing your .env file and change DB_HOST=127.0.0.1 to DB_HOST=localhost or DB_HOST=mysql (for docker-compose environment).

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 5 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.

Laravel Boilerplate Docker

System Requirements

To be able to run Laravel Boilerplate you have to meet the following requirements:

Run

  1. Clone repository
$ git clone https://github.com/Labs64/laravel-boilerplate.git
  1. Copy .env.example to .env and modify according to your environment (make sure database host set to DB_HOST=mysql)
$ cp .env.example .env
  1. 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
  1. Build project
$ docker exec laravelboilerplate_laravel-env_1 ./dockerfiles/bin/prj-build.sh
 or
$ docker-compose run --rm laravelboilerplate_laravel-env_1 ./dockerfiles/bin/prj-build.sh

Now you can browse the site at http://localhost:80 🙌


  1. 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!

Bugs and Feedback

For bugs, questions and discussions please use the GitHub Issues.

License

This boilerplate is open-sourced software licensed under the MIT license.