随笔 - 23  文章 - 3  评论 - 322  3

在网上现在几乎搜索不到可用的Asp.net  MVC的用户系统,php的倒有康盛的Ucenter可用。现在计划自己开发,并倾向与走开源开发的模式。即一开始就开源,包括设计文档和所有代码。

欢迎对asp.net mvc 和用户系统有兴趣的朋友参加一起开发,创造一个有用的开源程序出来。

 

 【蓝图】

最终蓝图是创建一个有用,易整合的开源用户中心。最终目标就是.net阵容的开发人员想创业了,不需浪费太多时间在重复造轮子,集中精力做核心功能。

有用是指功能上的完善,常用的的用户中心,大家可以参看博客园的,Discuz的(csdn采用),雪球财经的,豆瓣网的等等功能都类似,后续有简单的功能列表

易整合是相对.net程序员来说的,容易和应用系统整合,包括使用现有功能和扩展新功能都需要很容易。

 

 【技术】

技术上的整体思路是在Asp.net MemberShip的基础上开发,账户系统沿用MemberShip。主要原因是节约开发时间和沿用asp.net 自带的安全基础设施。

开发工具上采用Asp.net mvc 2或asp.net mvc 3开发,数据库采用sql server 2005。ORM技术采用Linq to sql 和手写sql/存储过程相结合的方案。参照

 

架构上依照互联网开发的习惯,以开发快速和容易变更为本,初期不会有太多分层。

 

 

 

 

【背景介绍】

 

我们网站是一个以数码产品评论为主的社区,和豆瓣读书、大众点评网类似的SNS站点。由于对技术的熟悉程度和开发速度上的考量,整个网站采用Asp.net mvc 开发,相较php,合适的可用的Asp.net mvc的开源用户中心目前没有。因此我们反正是要开发,经过讨论决定走开源路线,在产品开发的过程中就开源,避免以后的开发者和公司遇到同样的问题。如果以后你想创业,就可以节约大把时间了。留下精力去做最核心的功能。

用户中心看似简单,实际其实很复杂,可以说是SNS网站最重要的模块之一。

 

【功能点】

 

我在初步分析之后,有以下功能需要开发。

一 基本资料

基本资料一般是根据网站特性有多有少。我们计划包含以下资料

  • 1.用户名
  • 2.显示名称(昵称),30天只能修改一次
  • 3.居住城市
  • 4.邮箱
  • 5.性别
  • 6.生日
  • 7.头像
  • 8.签名
  • 9.个人简介  

二 个人活动和成就

1.发表的评论

2.想要的产品

3.拥有的产品

4.收藏夹

5.产品列表(相关的产品列在一块,比如旅游镜头组合)

三 偏好(推荐产品时使用)

1.喜欢的产品

2.不喜欢的商品(不显示,但需要在推荐数据时做为过滤条件)

3.用户登录时推荐给用户是需要使用这些数据

四 好友列表

好友列表我决定采用微博的方式,即只有粉与被粉这种轻关系。

五 用户群组

我的群组

六 共同喜好

浏览者访问该用户时,如果有共同喜欢的物品,就将它列出来。

七 消息系统

1.评论被回复,被其它用户关注的通知

2.系统通知,比如有什么新活动推荐

3.用户之间发送的短消息

八 留言本

公开的留言本,可回复

九 勋章、积分、等级系统

积分规则

积分事件接口

等级规则

勋章规则

九 Neews Feed

News Feed和timeline功能太复杂,不放在用户中心,但用户中心提供接口。

 

【常见问题】

关于MVC 3 还是MVC 2
@Richwong
@坚持枪手
其实虚拟主机支持MVC 2的也非常少,现在还没确定用mvc 3还是2,还需要确定下MVC 3的开发和部署之后

关于“烂尾楼”
@IT Giant
这点是肯定不会,我们会使用在产品中,肯定要完成并达到商用级别。

关于开发必要性
@Dozer
@(张超)
Discuz 的Ucenter确实不错,但整合并不十分方便。首先是php开发的,不是每个人都熟悉。其次它提供的主要接口就是验证登录,想进一步整合是非常麻烦的。

 

关于使用MemberShip

 

@(张超)

 

首先降低开发难度以及不重复造轮子。MemberShip在asp.net/asp.net mvc网站是非常容易整合的,在所有服务端都能直接读到。

posted on 2011-12-17 19:55  Shinn  阅读(4737)  评论(29编辑  收藏