fhirzall
Joined 17 years ago
Joined 17 years ago
Offering up a refined, live version of the product is non-negotiable and completely achievable with the tools mentioned in the post, but adopting services that simplify your infrastructure processes gives you the focus that an early stage product needs.
I'm 100% with that you should control your infrastructure if you're an established company, brand, or product, but we're coming at this from a startup's standpoint where speed of iteration & shipping features make a huge difference in the eventual outcome of the startup.
We have a complex application that heavily interacts with webhooks - that's what prompted us to create StripeTester. We can now easily spec out the interactions and set expectations when a webhook is received. A side benefit is that this can be used without connectivity and really cleans up our test suite.
Previously, we used Requestbin for manual webhook testing, and made heavy use of Mocha for stubbing. This required us to maintain fixtures and test data to simulate Stripe's.
There's also https://github.com/mindeavor/stripe-ruby-mock that provides some testing hooks (although repo says it's incomplete). We're planning on keeping the webhook data up-to-date when Stripe releases newer versions.
You can run Capistrano for continuous deployment: https://github.com/capistrano/capistrano.
If you wanted to go the extra mile you could also setup different staging environments on your server: http://cjohansen.no/en/rails/multi_staging_environment_for_r...
This approach combined with having different levels of goals will keep you on the right trajectory in finishing everything you want to accomplish. Something like "Only eat out once a week" can be a goal, it's up to you to choose your level of granularity.
IMO the most important thing is to periodically take a few steps back and reevaluate your current habits in relation to the goals you set.
You can reach me at feras @ buttercloud dot com