About to write my first from-scratch project for a real client. Help me get a game plan going?

  1. Since they need the ability to add content on their own, I've been looking at going with django-cms + django-shop or Mezzanine with Cartridge. Mezzanine looks like overkill, so I'm leaning toward django-cms. On the other hand, my frontend skills are less than stellar, and it might be nice to have a crutch. Thoughts?

If you want a handy design crutch, I strongly recommend Twitter Bootstrap. There are lots of sites out there that let you purchase slick Bootstrap templates too if you want to go that far.

  1. How do I handle payment processing? I'm assuming that I need to pass this off to a secure third party like Paypal.

Paypal is the shittiest platform I've ever had to work with. They're criminals that withhold your money when it suits them and punish your users. I would suggest looking into Stripe payments instead. Their business model is "by developers, for developers". You may also want to consider bitcoin because it's fun & interesting.

  1. They need the content of their existing Wordpress site. It looks like I can export this as XML...I'm thinking I can pull together some kind of script to pull these blog entries into my django app and save them. Does this sound realistic?

That sounds like a nightmare. My preference has always been to design my data layer the way I want and then write an import script making use of raw SQL. You can even write it as a migration.

  1. A nontechnical question: I feel like I should know how to do all of this at this point in my career and that I'm cheating by using third-party components. Like I'm just gluing libraries together and not really programming. On the other hand, rolling my own CMS and ecommerce solutions seems silly when this is a non-special case. What do you guys do for your clients?

Knowing what tools are available and using them responsibly is the mark of a good developer. Knowing your strengths and weaknesses and how these play into your deadlines is another mark of a good developer. Just make sure that you have a grasp of what's going on under the hood when you use these tools and you should be fine.

/r/django Thread