Website for www.phphants.co.uk
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
data
docker
public-src
public
src/App
templates
test/AppTest
.gitattributes
.gitignore
.scrutinizer.yml
.travis.yml
AUTHORS
LICENSE
Procfile
README.md
composer.json
composer.lock
docker-compose.yml
gulpfile.js
migrations.xml
package.json
phpcs.xml
phpunit.xml.dist
run-in-php-docker.sh

README.md

phph-site

Website for www.phphants.co.uk.

For more information, visit us at PHP Hampshire.

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version License

Installation

Prerequisites

  • Docker
  • Docker Compose

Project setup

First, you need to configure the application:

cp config/autoload/local.php.dist config/autoload/local.php

Edit the configuration file accordingly with API tokens as required. You'll need to create applications and generate tokens for:

  • Twitter (for social login)
  • GitHub (for social login)
  • Google recaptcha (for registration form captcha)
  • AWS S3 (for avatar storage)

The DB URL for the Docker environment is:

postgres://postgres:postgres@phph-postgres/phphants

Then, create the docker containers:

$ docker-compose build

And run the environment with:

$ docker-compose up --abort-on-container-exit --force-recreate

Once up and running, you can run the migrations to create the schema:

$ ./run-in-php-docker.sh vendor/bin/doctrine-migrations migrations:migrate

You'll have a blank database now. For testing purposes, you can create seed data using this command:

$ ./run-in-php-docker.sh php data/migrations/create-sample-fixtures.php

Don't run this on production though! You can now log in with one of two users:

  • admin@phphants.co.uk / password
  • attendee@phphants.co.uk / password

Front end assets

Front end assets are built using Gulp. The two main useful commands are gulp (to watch for changes) and gulp build (a one-off build of front end assets).

Initial setup

First, install gulp-cli globally, if you haven't already:

$ npm install gulp-cli -g

Then just install the local packages:

$ npm install

Watching files for changes

Whilst working on front end assets it is useful to automatically rebuild the CSS/JS. This is the default mode of the Gulpfile.js included, so you can just run gulp directly:

$ gulp
[08:50:54] Using gulpfile ~/workspace/phph-site/gulpfile.js
[08:50:54] Starting 'styles'...
[08:50:54] Finished 'styles' after 17 ms
[08:50:54] Starting 'scripts'...
[08:50:54] Finished 'scripts' after 1.17 ms
[08:50:54] Starting 'build'...
[08:50:54] Finished 'build' after 773 μs
[08:50:54] Starting 'default'...
[08:50:54] Finished 'default' after 14 ms

Press Ctrl+C (Win/Lin) or Cmd+C (Mac) when you are finished to exit Gulp.

One-off build

If you need to build the front end assets just once, you can run gulp build which does the same as gulp but exits immediately after build (no watching files):

$ gulp build
[08:57:52] Using gulpfile ~/workspace/phph-site/gulpfile.js
[08:57:52] Starting 'styles'...
[08:57:52] Finished 'styles' after 17 ms
[08:57:52] Starting 'scripts'...
[08:57:52] Finished 'scripts' after 1.16 ms
[08:57:52] Starting 'build'...
[08:57:52] Finished 'build' after 793 μs
$