Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Idea to launch in days - executed Python-style

Mike Jones
October 03, 2013

Idea to launch in days - executed Python-style

Talk given on Thursday October 3rd 2013 at PyconZA in Cape Town

Mike Jones

October 03, 2013
Tweet

More Decks by Mike Jones

Other Decks in Programming

Transcript

  1. Western Cape Labs ~ [ ] Smart apps for dumb

    phones Smart sites for busy people
  2. 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
  3. 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
  4. 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!
  5. 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 <route_name>.py <-- one per application function
  6. 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
  7. creates folders, rsync’s chef recipes, run chef, creates virtualenv, pip

    installs fab <env> bootstrap rsync’s code, restarts services fab <env> deploy