There are so many learning resources for all three aspects of startups : technology, design and marketing but not many learning resources exist on best practices to design/develop application components like : User Authentication, Billing, etc.<p>These are software systems that are often required by many startups. If I am developing a SAAS web application that may require monthly/yearly recurring billing(with various discounts/offers) and I have no prior experience of this, where do I find information about the best practices to develop such system? Ofcourse one can try to design and develop it as any other piece of software but it will make life very easy if one can learn about design/architecture of such reusable systems.<p>In short, I am looking for something like : The Architecture of Open Source Applications(http://www.aosabook.org/en/index.html) but for web application components like Authentication, Billing, Forums, E-commerce etc.<p>Or, may be like this : http://stackoverflow.com/questions/549/the-definitive-guide-to-forms-based-website-authentication
I was asking myself the same question the other day.<p>Well, for now if you're using/know Rails, maybe you could take a look at this: <a href="https://github.com/RailsApps/rails-recurly-subscription-saas" rel="nofollow">https://github.com/RailsApps/rails-recurly-subscription-saas</a><p>There are also other great Ruby gems/Rails projects that do Authentication (<a href="https://github.com/plataformatec/devise" rel="nofollow">https://github.com/plataformatec/devise</a>) , E-commerce (<a href="https://github.com/spree/spree" rel="nofollow">https://github.com/spree/spree</a>), etc! That's why I love the Ruby community.
I'm really loving Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series) <a href="http://amzn.com/0321721330" rel="nofollow">http://amzn.com/0321721330</a>