to
launch
idea
in days
Mike Jones /
/ @imsickofmaps
Slide 2
Slide 2 text
Western Cape Labs
~
[ ]
Smart apps for dumb phones
Smart sites for busy people
Slide 3
Slide 3 text
WARNING: THIS IS *MY* WAY
Slide 4
Slide 4 text
ideas
service
data
BUILD
MEASURE
LEARN
Slide 5
Slide 5 text
ideas
service
data
BUILD
MEASURE
LEARN
LEARN
focus
}
mention
}
Slide 6
Slide 6 text
Do you have
empathy?
Your opinion [though interesting] is irrelevant
Slide 7
Slide 7 text
SO THAT
AS A
I CAN
Slide 8
Slide 8 text
Configure locally
$ git flow init
Create a issue on github (e.g. Start blog application) linked to user story.
Start the feature
$ git flow feature start issue-1-start-blog-application
Code like your life depends on it
$ git flow feature publish issue-1-start-blog-application
Convert to a pull request
$ git pull-request -i 1 -b develop
Send someone the pull-request link or @mention them
Once its got a +1 from the reviewer(s) and tests are passing
$ git flow feature finish issue-1-start-blog-application
$ git push
use git flow
Slide 9
Slide 9 text
starting over!
STOP
STOP
reinventing!
STOP
being distracted!
just for now... please!
Slide 10
Slide 10 text
we chose Flask and Bootstrap
USE FRAMEWORKS
PICK A DATASTORE
we chose Riak, Spreedly and Xero
MAKE DEPLOYMENT EASY
we chose Fabric and chef-solo
REUSE CODE
we built on top of On The Way
Slide 11
Slide 11 text
we chose Flask and Bootstrap
USE FRAMEWORKS
PICK A DATASTORE
we chose Riak, Spreedly and Xero
MAKE DEPLOYMENT EASY
we chose Fabric and chef-solo
REUSE CODE
we built on top of OnTheWay
your choices may differ!
Slide 12
Slide 12 text
1 file apps are nice but
make a skeleton
FLASK TIPS: #1
static <-- for css, js, img etc. (serve via nginx)
templates <-- for jinja templates
__init__.py <-- makes module (easy to serve)
app.py <-- declare the Flask app in here
config.py <-- use config objects for dev and prod
main.py <-- include everything via this (no circular deps)
shareddefs.py <-- place we put login_req decorators etc.
sharedforms.py <-- central place for WTForms
.py <-- one per application function
Slide 13
Slide 13 text
Use jinja + WTForms +
bootstrap templates
FLASK TIPS: #2
Slide 14
Slide 14 text
Use decorators
FLASK TIPS: #3
Slide 15
Slide 15 text
Less + Bootstrap +
Google Fonts = Pretty
compiles variables, plus your less file into a
single css
lessc source.less output.css
ask someone with taste to pick one!
google.com/fonts
update font, set colour palette
tweak variables.less
Slide 16
Slide 16 text
creates folders, rsync’s chef
recipes, run chef, creates
virtualenv, pip installs
fab bootstrap
rsync’s code, restarts services
fab deploy