开发社交网络:技巧、细节和信息
Posted
技术标签:
【中文标题】开发社交网络:技巧、细节和信息【英文标题】:Developing a Social Network: tips, details and information 【发布时间】:2011-01-08 16:14:40 【问题描述】:我想使用 Ruby on Rails 3 创建一个小型社交网络。由于它是一个复杂的系统,对于信息架构有什么建议?
我想使用分层架构创建多个 RoR 应用程序,每个应用程序都用于完成特定目的。因此,我创建了一个域和多个子域。
例如:
主域:http://main.com
所有 nedded 子域:http://app1.main.com
、http://app2.main.com
、...
使用这种架构出现的问题是用户的身份验证,因为在将 cookie 设置为 http://main.com
级别(以便所有 cookie 都可以从所有子域访问)时,它们当我尝试在子域之间进行 HTTP GET 调用时,不会“跟随”,除非您在 HTTP GET 调用中明确传递 cookie 的参数值,可能使用 SSL/TSL 连接。这是一个正确的方法吗?
但是,在这种情况下,我可以考虑使用 REST API 和 OAuth 等协议来保护资源...
创建社交网络的正确方法是什么?谁能给我足够详细的建议?
P.S.:我说的对吗?!
【问题讨论】:
【参考方案1】:看看 Social Stream,它是构建社交网络网站的核心:
https://github.com/ging/social_stream
【讨论】:
【参考方案2】:您还可以查看 Diaspora,它是一个功能齐全的社交网络,他们在 github 上提供了源代码! https://github.com/diaspora/diaspora
【讨论】:
是否很难(或不明智)消化散居并基于它制作链接素克隆? 我认为这样做是不明智的(但你会学到很多东西)。您应该由测试驱动(Test Driven)从头开始构建它。使用像设计这样的现成宝石来验证您的用户。然后你可以看看侨民是如何实现某些社交功能的。然后为这些功能编写测试并尝试使用您自己的数据模型等来实现它们。但是如果您真的不知道,请查看 Diaspora 及其内部工作,以便更好地了解如何开始:) 【参考方案3】:我创建并开源了视频社交网络 Brevidy。它可能有助于向您展示应用的结构。
来源:https://github.com/iwasrobbed/Brevidy
演示:http://brevidy.heroku.com/rob/channels
【讨论】:
以上是关于开发社交网络:技巧、细节和信息的主要内容,如果未能解决你的问题,请参考以下文章