Skip to content

Slim3 web app starter kit, trying to follow KISS principle and make your dev life easier.

Notifications You must be signed in to change notification settings

tchauviere/slim3-kickstarter

Repository files navigation

Slim3 Kickstarter

Latest Stable Version Latest Unstable Version License composer.lock

This slim3 boilerplate is made for everyone who would like to kickstart quickly a web project.

It is composed of many great packages such as:

  • Eloquent
  • Phinx
  • Monolog
  • Symfony Console
  • PHPMailer
  • Bootstrap 4
  • JQuery
  • leafo/scssphp
  • matthiasmullie/minify
  • vlucas/phpdotenv

Installation :

composer create-project tchauviere/slim3-kickstarter <app_name>
Will download the project and install everything for you, <app_name> is up to you.

Once packages are installed you will be prompted interactively for .env file creation and global environment setup (assets and DB).
If you do not want to be prompted just add --no-interaction to the composer create-project command up above

If you don't go with interactive mode (default), please mind to do the following once your .env file is ready:
php manager asset:compile
php manager migration:run up
php manager seed:run

Start your developpement :)

Guide :

Assets management

php manager assets:compile [<type>] [--watch]

Will take care of converting your scss files and minify them as well as js files from /assets directory to respectively /public/css and /public/js directories (no binary dependencies required).

  • [<type>] (optionnal): scss or js (Tell compilator to only take care of assets/js or assets/css
  • [--watch] (optionnal): Watch specified folder and auto-compile whenever a change is made

Migration creation

php manager migration:create <migration_name>

Will automatically creates a new migration file to /db/migrations from this file you can follow Phinx documentation to describe your migration.
http://docs.phinx.org/en/latest/migrations.html

  • <migration_name>: Camel case migration name (eg.: Users, UsersAndRoles, ...)

Migration running

php manager migration:run <direction> [-t <target>] [--dry-run]

Run your migrations UP or DOWN.

  • <direction> : up or down (Tell manager to execute migration or rollback them).
  • [-t <target>] (optionnal): <target> is the migration timestamp, if specified only this migration will be executed up or down.
  • [--dry-run] (optionnal): Tell migration to be tested but not persisted to DB.

Seed creation

php manager seed:create <seed_name>

Will automatically creates a new seed file to /db/seeds

  • <seed_name>: Camel case seed name (eg.: Users, Roles, ...)

Seed running

php manager seed:run [--seed <name>]

Run your seeds files.

  • --seed <seed_name> (optionnal): If specified, will only run this seed file (eg.: Users, Roles, ...)

Secret generation

php manager secret:generate

Will replace your secret located in .env file automatically.
BE CAREFUL when using this if you have already users that are created. Indeed, this secret is used to salt your Users passwords.

Usefull links :

http://docs.phinx.org/en/latest/migrations.html
https://laravel.com/docs/5.8/eloquent
http://www.slimframework.com/docs/

Note :

Feel free to open issues, ask questions or make some pull requests !
I'm maintaining this on my spare time so give me some of yours to get back to you :)

Enjoy !

forthebadge

About

Slim3 web app starter kit, trying to follow KISS principle and make your dev life easier.

Resources

Stars

Watchers

Forks

Packages

No packages published