如何开始建立一个新的社交网络?

fg1*_*g12 3 programming-languages social-networking

我有一个社交网络网站的想法,我将在我的空闲时间单独工作.

我的目标是:

  • 介绍Web开发
  • 为了我的个人乐趣和提高我的简历,提高我的技能(编程语言,框架,可扩展的架构......)
  • 如果我意识到它可以成功,那么将项目转变为一个创业公司,或者如果它们将来出现,我会将其学到的知识用于其他想法.

所以我想问你是否可以就以下几点(或其他任何要点)给我建议:

  • 教程
  • 编程语言和框架(我不介意学习新的)
  • 建筑
  • 硬件(我需要很多机器来开发,测试,CI,......或者我的2GB MacBook Pro是否足够)
  • 源控制,CI,测试
  • 我应该从哪个部分开始?客户端,数据库,......?

Kie*_*one 6

要创建一个新规模的社交网络,您可能正在考虑的是一项庞大而巨大的任务.它通常不是"网络开发的介绍"练习,它将是一个"协作,经验丰富的网络开发"大师级练习 - 无论如何都要正确实现它.

似乎要跳过去思考语言会遗漏一些软件设计所需的非常重要的步骤 - 特别是考虑到语言和平台的有效选项数量.最好先考虑一些系统设计:用户,用例,也许是一系列实体/ ERM设计; 在那之后您可以考虑后端存储.考虑用户负载,用户体验,可扩展性和功能集,您可以开始权衡语言和平台.

这就是说,每当我有一个想法,我认为很酷,我通常会做快速原型制作周期; 但对于像社交网站一样庞大的东西,重构将变得越来越困难,特别是如果只是你在团队中.

显然,我正在试图建议有很多想法要做.我的实际建议是 - 抓住一堆纸,尽可能地勾勒出来,从高层开始(比如,用户将与之交互的不同屏幕) - 在纸上解决问题(例如勾画出物体的状态),以及开始小/瞄准低开始.最好能有文字和照片(要诚实,要获得抛光的成品和工作好,这本身就是一个壮举),一个简单的消息传递系统的工作原理比短信,照片画廊一个偶然的破马车扩展模板系统,"墙"系统,小组等.

那里有很多美味的技术,例如RoR,但是项目的深度仍然会有很多研究和令人头疼的时刻.因此,具有一定程度的整体项目范围将有助于使事情保持正常和可管理,以及在编码之前进行任何规划.

只是一些值得思考的东西.!