分享業餘時間開發的一個影視採集及管理系統

極大的可能會在最近離職加入一家極具挑戰的公司,時間和精力都會有一個比較大的調整。作這個系統也是出於娛樂的目的,但目的絕對是單純的。前端

由於最初規劃的時間關係,一切從簡從快,主要功能特性以下:git

1,前端頁面開發直接就bootstrap 3.0 。後臺管理頁面也用到了基於bootstrap的一套UI框架。(基本上都是Copy的)mongodb

2,數據抓取用的是HtmlAgiltyPack組件。數據庫

3,IOC方面嘗試了一下Castle。結合 CommonServiceLocator 開源組件。bootstrap

4,數據存儲能夠在MongoDb和SqlServer中進行簡單的切換(AppSettings.config的StoreProvider配置節)。SqlServer的數據提供用到了EntityFramework的Code First。MongoDb的C#驅動爲官方驅動包,本身簡單的封裝了一個Helper。windows

5,日誌記錄用到了Log4Net。安全

6,評論系統直接就嵌入了多說,感受還不錯。就是找了半天,彷佛沒有發現遠程獲取數據接口。服務器

7,其它的沒什麼可說的。多線程

 

原本是打算在月底以前搞定,如今看來是搞不定了。只有在真正作的過程當中才發現須要解決的東西太多。好吧,也從側面反映出本身的水平仍是至關菜。大概總結了一下,須要完善的地方有如下幾點(主要是後臺管理):框架

1,用戶權限控制(超級管理員和普通管理員)。

2,數據採集管理(相似增量採集,定時採集,採集配置等)。

3,後臺管理頁面導航菜單的控制(主要是判斷左側菜單項的active,麪包屑導航生成等)。

4,影視的圖片信息都直接調用的Http圖片,未作本地存儲(下載圖片容易,恐怕須要單獨的圖片服務器)。

5,採集提供程序用到了多線程,可我基本不懂多線程。偶爾彷佛會出問題的樣子...

6,站點配置管理。這個就是一個頁面,序列化與反序列化的問題。但就是沒有實現 。

7,站點統計至關不完善。好比日誌記錄、訪問者統計等。

 

但願之後還能找到時間和精力繼續搞定這個東東...

 

沒事截了幾張圖,貼上來看一看。

項目結構示意:

 

首頁(採集了三類:電影,動漫,電視劇。出於測試目的,僅採集了50條):

 

這是詳細頁:

 

這個是詳細頁的評論框。字幕信息請求的是射手網的接口:

 

這是後臺管理頁面:

 

登陸:

 

鎖定:

 

影視管理列表頁面:

 

影視管理詳細信息編輯頁面:

 

這是管理員管理頁面(僅超級管理員可見,但目前沒有作這個控制):

 

管理員詳細信息頁面(可鎖定管理員):

 

還簡單的作了一個訪問者統計(統計這一塊缺的東西至關多):

 

僅供新手學習。項目託管地址爲:http://git.oschina.net/mcmurphy/Movi

 

補充:

項目的數據存儲是能夠在mongodb和Sqlserver中進行切換的。其中,mongodb的數據庫鏈接字符串爲:

<!--Mongodb-->
<add name="MoviMongoConnection" connectionString="mongodb://kangming:yqhkangming@127.0.0.1:27627/movi" />

我在開發的時候,配置了mongodb的權限,加了用戶名和密碼。出於安全性方面的考慮,將默認端口27017修改爲了27627。這些配置因我的需求而異。另外,簡單寫了一個啓動mongodb數據庫的腳本,位置爲 Movi.RazorWeb/App_Data 下的 mongodb_data.txt。固然,也能夠直接添加爲windows服務隨系統啓動。腳本內容爲:

start bin/mongod.exe --dbpath .\db --logpath .\log\log.log --auth --port 27627
start bin/mongo.exe --port 27627 -u admin -p admin --authenticationDatabase movi

將上述腳本存儲爲bat格式,每次須要運行mongodb數據庫的時候,點擊便可。(固然,你得配置mongodb數據庫匹配上述腳本內容)。關於mongodb配置方面的更多信息,能夠參考 源代碼項目 Movi.MongoRepository 下的 db.txt 文檔。

 

對於EntityFramework,code first 的開發方式,除了配置正確的數據庫鏈接字符串(這個沒什麼可說的),另外須要根據實際狀況,結合 nuget 執行數據庫初始或變動命令。常常用到的命令就下面三個:

Enable-Migrations 
*      啓動遷移功能,會在項目根目錄下生成 Migrations 文件夾
Add-Migration -StartupProjectName 
 *     在指定的項目中增長一個遷移點,此命令後會要求輸入一個 Name 參數,此參數的值爲遷移點名稱
 *     假設輸入的遷移點名稱爲 init 則會生成一個相似以下的文件 201202290718442_init.cs,其包含兩個方法 Up() 和 Down(),分別用於此遷移點的升級和降級
Update-Database -StartupProjectName (將指定的項目的數據庫結構升級到最新)

上述命令的執行方式爲: 打開程序包管理器控制檯,將默認項目選擇爲:Movi.EFRepository。另外,請將
Movi.EFRepository 設置爲啓動項目。
如遇錯誤,請自行上網查找資料解決。
相關文章
相關標籤/搜索