10-22-2014 by Sebastian Schürmann
More progress (Version 0.0.1) is made and we are a little further down the road towards a first deploy.
I sided with the Silex framework that allows for easy development with PHP and Symfony2 components. I spent the last 3 years with Express.js which follows the same doctrine as its Ruby variant Sinatra. If stuff will become a little chaotic and the project gets bigger the switch to Symfony 2 will not hurt to much since a lot of the infrastructure is the same.
The built in PHP webserver will do nicely for development purposes. It is an awesome tool.
For the Scenario and BDD side of things I went with Cucumber.js and webdriver. It seems the thing that works right now.
Another decision I had to make was the one of the build tool, which is in this case gulp.js. I started to like the non-verbosity of the tool.
In order to keep scanarios and stories separated the decisionw as to keep stories in the github bugtracker and the scenarios go as feature files.
However, there is a point where I have to start and stuff needs to be shipped. In order to wire up everything I decided to add a scenario, setup cucumber with webdriver (not only installing it, but writing the code that actually uses the webdriver api).
The Scenario
This should force me to implement a lot of basic stuff right away. and relates to Story #2
Feature: View Practice
As a workshop participant and website user
I want to read about specific practices
so that I know what it is about
and I can decide if I want to have it in the workshop
Scenario: View Pairprogrammig
Given I surf to '/practices/pairprogramming.html'
Then I should see a level 1 heading 'Pairprogramming'
And a paragraph of text
And a unordered list of links to external websites
Scenario: Link to allies
Given I surf to '/practices/pairprogramming.html'
When I should see a list of allies
Then the list of allies should contain 'Test Driven Development'
I will see how this works out in the next steps. ;)
Some things come into mind
Things I wont do (yet)