就我增长知识方面而言,我想尝试制作一个SaaS应用程序。我不太在意应用程序的功能,但我想学习其中的技术。那么我的问题是,是否有人能够友好地向我展示从何处开始?有哪些好的阅读材料、教程、文章或书籍可供参考?我最感兴趣的是:
- 每个用户注册后,都有自己的游戏区域在username.domain.com上
- 应用程序应该使用某种主脚本,为所有用户生成内容
- 这种应用程序的陷阱是什么?
- 需要什么技术后端?
我愿意尝试使用Ruby on Rails解决方案。抱歉我的英语不好,希望我表达清楚。谢谢
就我增长知识方面而言,我想尝试制作一个SaaS应用程序。我不太在意应用程序的功能,但我想学习其中的技术。那么我的问题是,是否有人能够友好地向我展示从何处开始?有哪些好的阅读材料、教程、文章或书籍可供参考?我最感兴趣的是:
我愿意尝试使用Ruby on Rails解决方案。抱歉我的英语不好,希望我表达清楚。谢谢
您想要构建一个多租户解决方案。
需要考虑以下几点:
每个用户都应该有一个隔离的数据库。这意味着您需要选择一个可以在运行时切换数据库的数据库驱动程序。数据库的id可以基于域名的用户部分。
您可以使用Devise+cancan进行注册。但是,您需要重新定义一些Devise控制器,以便它们考虑到数据库。
您可以考虑阅读Paul Dix的《Ruby和Rails的面向服务设计》。它提供了许多有趣的思路,可以用来构建高效的面向服务的应用程序,毫无疑问,这是您应该努力创建的架构类型。
我建议您使用Heroku来托管应用程序。MongoHQ非常适合数据库 - 他们有一个API可以编程方式进行CRUD。
最后,请记得全面测试您的应用程序。Capybara加上Steak进行集成测试,RSpec进行模型和控制器测试,Jasmine进行Javascript测试。
此外,不要实现自己的支付系统。有很多提供商可以使用,例如http://recurly.com/。
你可能想要查看 Rails 套件,网址为 http://railskits.com/saas/
如果你更喜欢自己构建,请查看 http://www.chargify.com 来处理你的付款。
看看这个教程。它正是你所要求的:
http://anantgarg.com/2013/06/10/build-a-php-saas-app-from-scratch/
这是针对PHP的,但你可以很容易地将其适应于RoR。