numerogeek/ultimate-symfony2-boilerplate


README

This is a boilerplate I've made to gain time when I need to kickstart projects

This ultimate symfony2 boilerplate comes with :

Installation

This boilerplate comes with all the bundles above enabled and preconfigured

The easiest way to get started is to clone the repository:

# Get the latest snapshot
$ git clone https://github.com/numerogeek/ultimate-symfony2-boilerplate myproject
$ cd myproject
$ git remote rm origin
$ mkdir -p web/uploads/posts

#setup ACL (refer to the symfony documentation.
$ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs web/uploads
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs web/uploads

#composer install

$composer install

#install assets

$ php app/console assets:install --symlink
# The following command require bower. ensure to install in order to use this command
$ php app/console avanzu:admin:fetch-vendor

#Create schema

$ php app/console doctrine:database:create
$ php app/console doctrine:migrations:migrate
$ php app/console doctrine:fixtures:load

# A superadmin user is created with the fixtures with username `admin` and password `admin`


Starter Kit

Go to http://www.myproject.local/app_dev.php/admin to have a look on what's coming with this bundle.

This boilerplate also comes with 4 customs bundle :

  • UserBundle (inherits of FOSUserBundle to easily customize the entity) : very simple user bundle with a backoffice
  • NumerogeekBlogBundle : a very simple blog bundle with a backoffice
  • AppBundle : The one from the symfony installer, so you can kickstart your project right now !
  • AdminBundle : which is the core of the admin part. There is not much in there because it mostly use the AvanzuAdminBundle
  • FixturesBundle : see below.

What's the fixtures Bundle ?

Usually when you start a project, you need some dummy data. Instead of having a fixtures folder in each bundles, I have made a fixtures bundle which is basically just a folder to store all the fixtures of your project.

about MremiContact Bundle

The bundle comes fully configurated for you. I like to store the sent messages in the database, just in case there's a problem with the mail transport. If you want to unactivate the storage in DB, you can set the store_data to false in the config.yml. For any further documentation, check the MremiContactBundle Documentation.