Funded! This project was successfully funded on July 18, 2013.

Update #1

Funded in just 36 hours!

7 comments

Wow! We are off to an amazing start. We passed the initial goal of $2,100 after just 36 hours. This is just the beginning though.

Stretch goals

I'll be adding some stretch goals for the remaining 28 days. The first one is $5,000.

  • $2,100 ✓ - With the money from the initial goal I'll be able to pay for an awesome cover design and the miscellaneous expenses associated with publishing (sample prints, ISBNs, etc). Thank you all for getting us here!
  • $5,000 - If we hit this mark, the book will have a strong theme. This means illustrations all throughout the book, in addition to a well designed website, logos, and maybe even some merchandise.

If you have some cool ideas for more stretch goals, let me know in the comments! Don't be afraid to dream big. :)

Behind the scenes

I had a great call with Mahmoud Abdelkader, CTO and Co-founder of Balanced on Monday afternoon. We talked about how they use Flask and what their app looks like. We were able to record the call with Google Plus Hangouts and it's now available on YouTube.

Comments

    1. Me-smaller.small

      Creator Robert Picard on June 20, 2013

      @Rod You're awesome.

    2. 378_554898456928_4956_n.small

      Creator Rod Montgomery on June 20, 2013

      0:00 Introductions, etc "Flask is the central framework"
      10:43 "How do you structure your app?"
      16:03 Top-level view
      18:06 Web MVC apps really have five things (Controllers, Views, Model, Scopes, Libs)
      19:58 One thing we don't like: form parsing is incomplete
      21:30 Custom request class "payload" to process mime types, decode data
      23:40 Doesn't enforce best practices; no concern about handling after request is received. (Mime types? Data validation?)
      25:30 Form handling, introspection, and auto-documentation
      32:32 Dumb controllers and How we process a request, thrrough validators, thrrough forms, to a controller
      37:28 How a response works, how to represent serialized, self-documenting views (we built custom library "Pez")
      44:42 Views are in the scope of a controller, so they understand the request context and permissions
      47:09 How we specify roles in the permissions model
      48:10 Intend to open source "sterling", a wrapper of conventions for flask
      51:31 Don't use Blueprints, but would like to better understand their potential, need a gallery
      54:20 User management should be a Blueprint, for instance, extensions vs blueprints
      57:15 How we handle configuration
      59:06 The ideal way would be chef, puppet, or some CM system
      1:12:06 Do any A/B testing? Yes, with Dashboard javascript, no flask/python
      1:12:30 Deployment? Fabric/jenkins now, but moving to chef; Ops changes need not modify code
      1:18:05 Translations and i18n? None yet…
      1:18:20 Logging? Elastic search and python logging
      1:20:00 Testing process (See http://blog.balancedpayments.com/balanced-payments-operations-automated-testing-continuous-deployment-jenkins/)
      1:23:19 Wrap-up, thanks, comparisons to other flask-based apps
      1:25:18 "If I had to start again to build a RESTful API, I'd use Java, definitely not Python or Flask."

    3. Me-smaller.small

      Creator Robert Picard on June 20, 2013

      Hopefully in the future that won't be as much of a problem.

    4. Me-smaller.small

      Creator Robert Picard on June 20, 2013

      @Soferio, I'd love to say yes, but I've been using Google Hangouts to record and there isn't much room for customization. It's tough to beat how easy it is though. I think the problem here was that Mahmoud had a large screen that had to fit into the little video window.

    5. Missing_small

      Creator Soferio on June 20, 2013

      Great video, but can you record at a higher resolution? It is impossible to read the text on the screen shots. Cheers.

    6. Me-smaller.small

      Creator Robert Picard on June 20, 2013

      @Michael Thanks for the notes. That's a good point about having a T.O.C. for future videos. I've already found myself going back and searching for parts that I wanted to review.

      Seeing the app structure was one of the biggest reasons that I wanted to consult with developers like this. I feel like there's a lack of good examples, and I don't think that I'm the only one who feels that way.

    7. Snapshot_20111002.small

      Creator Michael Herman on June 19, 2013

      Great Points - re:

      1) SQLAlchemy - by far, the best ORM
      2) Flask as a design guideline. Everything from Wordpress to Rails to Django are just design guidelines. It just depends on the assumptions that are made. Wordpress, for example, makes huge assumptions about what you are trying to do. Django, Rails, web2py make less assumptions but are still really "heavy" as far as the included batteries. Meanwhile, Flask, bottle, and Sinatra are really lightweight, allowing you to define your app how you want, making very few assumptions.
      3) Blueprints - Blueprints are confusing and poorly documented, yet extremely powerful.
      4) Deployment - love Chef
      5) Growing your app/scalability documentation is fairly lacking - I'd love to see more on that

      Interesting app structure, especially the bank controller.. Document how they and other companies are structure their apps. See how they are utilizing MVC.

      In the future, I would do a table of contents for your videos in the description like this -

      General Intro - 00:21
      How do you structure your app - 10:50
      Etc.

      Check this repo out - https://github.com/Version2beta/vagrant-chef-flask

      I'd love to hear about vagrant and chef.

426
Backers
$8,175
pledged of $2,100 goal
0
seconds to go
Me-smaller.medium
  • First created · 0 backed
  • Has not connected Facebook

See full bio

  • Pledge $10 or more
    You selected

    326 backers

    EFFICIENCY: PDF copy of the final book.

    Estimated delivery:
  • Pledge $20 or more
    You selected

    26 backers

    SUPPORTER: PDF copy of the final book. Receive a signed cover postcard in the mail.

    Estimated delivery:
  • Pledge $35 or more
    You selected

    45 backers

    PAGE TURNER: PDF copy of the final book. Signed cover postcard. Get a physical copy of the final book.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $50 or more
    You selected

    15 backers

    TRUE FAN: PDF copy of the final book. Signed cover postcard. Name listed in the e-book. Get a physical copy of the final book, signed by the author.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $100 or more
    You selected

    6 backers

    SECRET AGENT: PDF copy of the final book. Signed cover postcard. Name listed in the e-book. Physical copy of the final book, signed by the author. Find your name encoded in the book's text.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $250 or more
    You selected

    0 backers

    DECISION MAKER: You'll get the previous rewards PLUS: Choose a topic to be covered as a chapter in the book and find your name encoded in that chapter. You'll also get an extra copy of the book to send to a friend.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $500 or more
    You selected

    1 backer

    HERO: Have your name listed prominently as "patron" on the website, the e-book, and in print. If you're pledging on behalf of a company, we can use your logo. Take your pick of the previous rewards. Be my hero.

    Estimated delivery:
    Add $20 USD to ship outside the US
Funding period

- (30 days)