我正在使用phx 1.3和伞应用程序的新套件产品的体系结构。如何为许多应用程序构建凤凰伞框架
我有一个现有的基于凤凰的企业级WebRTC软电话(许多按键,一个显示器,多输入和输出音频设备选择,等等)。 我已经开发了一个与Phoenix的Slack克隆消息应用程序原型。 这两个应用程序都相当大 我需要将手机与聊天应用程序集成到一个前端,可能只是电话,聊天客户端和两者。 我将需要向前移动的聊天客户端添加很多新功能 我还希望架构支持使用相同的客户端在呼叫服务器(基于用户)以及潜在的大量管理员级别设置。 我也可能会在未来添加其他应用程序,如操作面板,日志查看器,并且列表继续... 客户端JS非常简单,没有前端框架。我渲染模板服务器端,并通过通道推送HTML。
我想构建这个可插件。相同的端点和数据库。一个普通的UX。
我想在这个保护伞中会有两个常见的应用程序,一个用于Phoenix端点和一个控制器,另一个用于主要的Repo和一对模式。我试图弄清楚为每个应用程序使用两个或多个附加应用程序是多么困难。一个用于上下文和模式,另一个用于控制器,视图,模板和早午餐资源。可能是另一个第三方API。
为了使这项工作,我需要在每个应用程序中为路由器动态分派。一种处理每个应用程序中包含的迁移的方法,可能更多的我还没有想过。
正如任何人试过这个?有没有类似结构的开源项目?
谢谢!我喜欢你的'mount'方法。我过去曾经遇到过这个问题。没有想到你的方法。不过,我用这个'Application.get_env(:app,:routers)|> Enum.map(&(forward“/”,&1))'试了一个快速秒杀''。我把它放在我的主路由器的末端,它似乎工作。你能想到这种方法的任何问题吗? –
'垂直域切片'听起来不错。我已经看到了将persistence/db解压到它自己的应用程序'apps/db /'中的引用。你对此有何看法? – AdamT
我看到你提到'我们为了简单而在一个应用程序中管理整个数据库的迁移。这个架构有没有问题? – AdamT