Slide 1

Slide 1 text

Building cllctr ViennaPHP, 2015 @Sgoettschkes

Slide 2

Slide 2 text

A confession

Slide 3

Slide 3 text

I am addicted to learning!

Slide 4

Slide 4 text

http://pixabay.com/get/6a30de7e80f92ac2e080/1428949744/colored-163805_1280.jpg

Slide 5

Slide 5 text

Execute! http://pixabay.com/get/07c852119f06b5ba8362/1428949931/suit-673697_1280.jpg

Slide 6

Slide 6 text

A normal day ● Add new feature ● Improve existing feature ● Hunt a bug ● Fix this bug ● Meetings ● Foosball ● ...

Slide 7

Slide 7 text

When do you... ● … think about new ways to do things? ● … improve old solutions? ● … test new tools? ● … learn?

Slide 8

Slide 8 text

When do you... ● … think about new ways to do things? ● … improve old solutions? ● … test new tools? ● … improve?

Slide 9

Slide 9 text

cllctr

Slide 10

Slide 10 text

cllctr

Slide 11

Slide 11 text

cllctr

Slide 12

Slide 12 text

The stack ● PHP & Javascript & CSS & HTML ● MongoDB & redis ● Nginx & php-fpm ● Linux (Debian)

Slide 13

Slide 13 text

PHP symfony/symfony

Slide 14

Slide 14 text

PHP doctrine/mongodb-odm (MongoDB)

Slide 15

Slide 15 text

PHP snc/redis-bundle

Slide 16

Slide 16 text

PHP plumphp/plum

Slide 17

Slide 17 text

PHP league/commonmark

Slide 18

Slide 18 text

PHP phing/phing

Slide 19

Slide 19 text

PHP phpunit/phpunit

Slide 20

Slide 20 text

PHP phploc, phplint, phpmd, php-cs-fixer, ...

Slide 21

Slide 21 text

Javascript npm (package manager for frontend packages)

Slide 22

Slide 22 text

Javascript grunt (“phing for nodejs”)

Slide 23

Slide 23 text

Javascript jQuery + modernizr (not ideal, but a good start)

Slide 24

Slide 24 text

Javascript uglifyjs, imagemin (not ideal, but a good start)

Slide 25

Slide 25 text

Css Sass

Slide 26

Slide 26 text

Css Zurb Foundation (like Bootstrap)

Slide 27

Slide 27 text

MongoDB Schema-less document store

Slide 28

Slide 28 text

redis In-Memory Key/Value Store

Slide 29

Slide 29 text

Nginx + php-fpm or Apache + mod-php

Slide 30

Slide 30 text

Debian Stable, well-known, “easy”

Slide 31

Slide 31 text

“DevOps” Vagrant (shareable dev environment)

Slide 32

Slide 32 text

“DevOps” ansible (Server provisioning for developers)

Slide 33

Slide 33 text

“DevOps” CodeShip (Continous Deployment as a Service)

Slide 34

Slide 34 text

“DevOps” GitHub

Slide 35

Slide 35 text

Operations DigitalOcean Monitory Dead Mans Snitch WebPageTest

Slide 36

Slide 36 text

Mindset Clean Code

Slide 37

Slide 37 text

Mindset Testing

Slide 38

Slide 38 text

Mindset Improving

Slide 39

Slide 39 text

Mindset Fuck it, ship it! (Done is better than perfect)

Slide 40

Slide 40 text

Mindset One step … to local development env … to build … to deploy

Slide 41

Slide 41 text

Mindset Have fun!

Slide 42

Slide 42 text

Look at the code: https://github.com/agileaddicts/cllctr https://github.com/agileaddicts/ansible-playbooks

Slide 43

Slide 43 text

Read more: http://sgoettschkes.me/p/developing-cllctr.html

Slide 44

Slide 44 text

Thanks!