Chr*_*ill 14 database saas laravel stripe-payments laravel-4
好吧,所以大约一年前我写了一个网络应用程序,帮助组织我的爸爸公司的约会.他现在"没有它就无法开展业务".我已经决定要从中构建一个SAAS订阅模型并向公众开放.
它目前建立在codeigniter和php上,我认为它不适合SAAS版本.我计划在laravel 4中从头开始重建它并使用stripe作为支付网关.
我关心的是如何最好地处理多个客户端的数据库/应用程序结构.目前,它只服务于一个企业,并且非常抽象,并且特定于我父亲公司的需求.我需要它能够处理不同的数据,具体取决于使用它的业务.
我已经考虑过多租户,但我不确定这是否正确.我认为'gmail'风格的方法会更好.一个应用程序/域,登录后,用户将看到他们自定义的仪表板,只有他们的数据.
在我遇到编码之前,我需要弄清楚如何最好地处理一个数据库上的多个"帐户".我不想为每个用户创建一个表,也不想为每个用户创建一个数据库.
我想我的问题是,任何人都可以指出我在Laravel中如何最好地处理每月付款订阅的正确方向?这不是我要与之打交道的代码,而是我需要建立什么来处理每月向客户收费并在计费失败时拒绝他们访问.
谢谢
tpl*_*ner 37
你有大量的阅读和大量的工作!
首先,让我们完全忽略现在的计费方面 - 在一天结束时,该部分应用程序真的相当简单.从37signals Rework(第93页和第94 页)中取出页面,然后在开始实施之前启动30天免费试用产品(到那时你应该知道如何实现它).
其次,为什么你认为"gmail"不使用多租户,URI结构对底层数据库结构一无所知.我非常有信心他们没有为每个客户克隆数据库架构.因此,您可能已经回答了自己的问题 - 您希望实施多租户.
你会想要抽象你的数据库(和应用程序架构),老实说没有比Taylor Otwell(Laravel的创造者)预订Laravel:从Apprentice到Artisan更好的资源来帮助你做到这一点.他的书不适合初学者,当你读完它时,你应该能够自己回答这个问题.
您不会为每个用户创建表或数据库,您甚至不会为每个组织创建一个表或数据库.相反,您将在代码中创建抽象数据库结构,这将从数据库中提取用户数据.
考虑检查作为另一层用户身份验证访问组织的权限.在每个请求中,您将检查该用户是否可以访问特定组织.您可能还会检查以确保组织仍然处于活动状态(它是否因为没有支付而到期?)这将在每个请求上再次发生,并且可能在laravel中使用过滤器.
这确实导致了开发SaaS应用程序的下一个非常重要的因素.
我不了解你,但我是偏执狂,如果我不确定用户号码4506是否看不到他不属于的组织的数据,我晚上睡不好觉.确保这一点的唯一非常好的方法是通过单元测试,如果你还没有,我强烈建议学习.
在Laravel 4中执行此操作的最佳方法是阅读Jeffrey Way的书Laravel Testing Decoded.这本书非常先进,但如果你对基础知识有很好的把握,那么它仍然很容易理解.
最后但并非最不重要的是,最重要的是参与社区 - 我建议这样做的最简单的方法是在#laravel IRC频道(freenode)闲置.提出一些问题,也许回答一些问题,渠道中的每个人都非常好,反应灵敏.
你肯定是在冒险,不要害怕提问和犯错误.祝好运.
| 归档时间: |
|
| 查看次数: |
5126 次 |
| 最近记录: |