Boilerplate for new laravel app with must have packages and configurations
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bootstrap
config
database
public
resources
routes
storage
tests
.babelrc
.editorconfig
.env.example
.eslintrc
.gitattributes
.gitignore
README.md
artisan
composer.json
composer.lock
package.json
phpunit.xml
server.php
webpack.mix.js
yarn.lock

README.md

Build Status Total Downloads Latest Stable Version License

Laravel Boilerplate

Laravel boilerplate is a basic boilerplate for laravel applications, specially targeted for medium to large level applications. It is configured with some of the must have packages and organized folder structure to manage different classes and files.

Packages included

Packages as 'dev dependencies'

Installation

  1. Create project with composer's create-project command in your terminal.
composer create-project --prefer-dist --stability=dev puncoz/laravel-boilerplate my-new-project
  1. Configure .env with your settings

Requirements

Requirement for this boilerplate is as listed in laravel's official documentation.

Inbuilt Features

  • Supported for different services like: front-office, back-office, authentication and APIs services.
  • Webpack configured for basic js and sass along with vuejs
  • Login: Customized laravel's default login scaffold with both username or email supported.
  • Password reset: Customized to give success message even if email provided is not registered. (For security reason)
  • Customized routes, notification emails (email verification and password reset)
  • Email not verified warning alert in dashboard, authenticated pages.
  • and many more...

Directory Structure

-- app
   |-- Constants
   
   |-- Core
       |-- BaseClasses
           |-- Controllers
               |-- Controller.php
               |-- BackOfficeController.php
               |-- FrontOfficeController.php
           |-- Repositories
               |-- Repository.php
               |-- RepositoryInterface.php
       |-- Broadcasting
       |-- Contracts
       |-- Events
       |-- Exceptions
           |-- Handler.php
       |-- Helpers
           |-- ViewHelpers
               |-- homepage.php
               |-- dashboard.php
           |-- auth.php
           |-- common.php
       |-- Jobs
       |-- Listeners
       |-- Mails
       |-- Notifications
           |-- Auth
               |-- ResetPasswordNotification.php
               |-- VerifyEmail.php
       |-- Rules
       
   |-- Data
       |-- Entities
           |-- Accessors
               |-- User
                   |-- UserAccessors.php
           |-- Models
               |-- Log
                   |-- ActivityLog.php
               |-- User
                   |-- Permission.php
                   |-- Role.php
                   |-- User.php
           |-- Scopes
           |-- Traits
               |-- UserInfoTrait.php
               |-- UuidTrait.php
       |-- Repositories
           |-- User
               |-- Permission
                   |-- PermissionEloquentRepository.php
                   |-- PermissionRepository.php
               |-- Role
                   |-- RoleEloquentRepository.php
                   |-- RoleRepository.php
               |-- UserEloquentRepository.php
               |-- UserRepository.php
           |-- RepositoryBindings.php
       
   |-- Domain
       |-- Api
           |-- Controllers
               |-- Users
                   |-- UsersController.php
           |-- Policies
           |-- Presenters
               |-- Users
                   |-- UserPresenter.php
           |-- Requests
               |-- Users
                   |-- UserRequest.php
           |-- Services
               |-- Users
                   |-- UserService.php
          |-- Transformers
              |-- Users
                  |-- UserTransformer.php
       |-- BackOffice
           |-- Controllers
               |-- Dashboard
                   |-- DashboardController.php
           |-- Policies
           |-- Requests
               |-- Dashboard
                   |-- DashboardRequest.php
           |-- Services
               |-- Dashboard
                   |-- DashboardService.php
       |-- Console
       |-- Frontend
           |-- Controllers
               |-- Home
                   |-- HomeController.php
           |-- Policies
           |-- Requests
               |-- Home
                   |-- HomeRequest.php
           |-- Services
               |-- Home
                   |-- HomeService.php
                   
   |-- Libraries
   
   |-- StartUp
       |-- Kernels
           |-- ConsoleKernel.php
           |-- HttpKernel.php
       |-- Middleware
           |-- Authenticate.php
           |-- CheckForMaintenanceMode.php
           |-- EmailVerificationWarning.php
           |-- EncryptCookies.php
           |-- RedirectIfAuthenticated.php
           |-- TrimStrings.php
           |-- TrustProxies.php
           |-- VerifyCsrfToken.php
       |-- Providers
           |-- AppServiceProvider.php
           |-- AuthServiceProvider.php
           |-- BroadcastServiceProvider.php
           |-- EventServiceProvider.php
           |-- RepositoryServiceProvider.php
           |-- RouteServiceProvider.php
   
-- bootstrap
-- config
-- database
-- public
-- resources
-- routes
-- storage
-- tests

Contribution

Anybody can contribute this scaffolding as per their requirement. To contribute, send pull request with detailed description of changes. If you are updating this scaffolding to fit with different packages and stacks, you need to create branch with appropriate name.

eg: If you want ReactJs instead of VueJs, create branch with name boilerplate-reactjs. i.e. branch name with 'boilerplate-' as prefix.

Security Vulnerabilities

If you discover a security vulnerability and other issues, please create an issues. All security vulnerabilities and issues will be promptly addressed.

License

This laravel-scaffolding is open-source software licensed under the MIT license and totally inherits all the rights from Laravel Framework.