在網上現在幾乎搜尋不到可用的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/預存程序相結合的方案。參照
StackOverflow架構
架構上依照互連網開發的習慣,以開發快速和容易變更為本,初期不會有太多分層。
【背景介紹】
我們網站是一個以數位產品評論為主的社區,和豆瓣讀書、福士點評網類似的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網站是非常容易整合的,在所有服務端都能直接讀到。