极大的可能会在最近离职加入一家极具挑战的公司,时间和精力都会有一个比较大的调整。做这个系统也是出于娱乐的目的,但目的绝对是单纯的。

因为最初规划的时间关系,一切从简从快,主要功能特性如下:

1,前端页面开发直接就bootstrap 3.0 。后台管理页面也用到了基于bootstrap的一套UI框架。(基本上都是Copy的)

2,数据抓取用的是HtmlAgiltyPack组件。

3,IOC方面尝试了一下Castle。结合 CommonServiceLocator 开源组件。

4,数据存储可以在MongoDb和SqlServer中进行简单的切换(AppSettings.config的StoreProvider配置节)。SqlServer的数据提供用到了EntityFramework的Code First。MongoDb的C#驱动为官方驱动包,自己简单的封装了一个Helper。

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 设置为启动项目。

如遇错误,请自行上网查找资料解决。

转载于:https://www.cnblogs.com/mcmurphy/p/3726128.html

分享业余时间开发的一个影视采集及管理系统相关推荐

  1. python写音乐_你想过用代码来写音乐吗?我用业余时间开发的一个可以编程写音乐的python库(一)...

    最近几个月学业繁忙,但是业余时间自己开发了很多python库,内容包括数学统计,各种游戏,还有音乐等等.其实还有试着写AI方面的,但是目前还是初期进度.今天我想先介绍一下我正在开发中的一个可以编程写音 ...

  2. 阿里程序员跳槽到小外企,再无996!业余时间开发APP,每月广告收入8万多!堪比阿里P8!...

    大家都在追求工资以外的睡后收入,希望实现财富自由.有人在互联网大厂辛辛苦苦996挣钱,有人却能找到捷径顺利实现梦想.一个程序员小哥哥就从阿里跳到了一家小外企,虽然工资少了,但再也不用加班,他利用业余时 ...

  3. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  4. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  5. python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  6. 【总结】二手书网站开发总结(业余时间开发)

    [b]1.技术概述[/b] 1.1 struts2.2.3 + spring2.5 + hibernate3 1.2 mysql5.5 + tomcat 6.0 + jdk 1.6 1.3 前台:js ...

  7. 业余时间写的一个项目的大致流程,欢迎拍砖

    项目流程   第一,概念          提出项目概念,大致框架,流程等. 第二,提交领导审批          把项目大致情况上报领导,待领导审批. 第三,立项        领导审批后,完善大致 ...

  8. 业余时间开发的磁力链在线云播安卓app 欢迎大家体验

    1.磁力链搜素封装了一些比较知名的磁力搜索引擎 2.点击就能在线转码播放 3.资源全面 播放速度还行 欢迎大家下载体验 https://pan.baidu.com/s/1pLgyQzL 转载于:htt ...

  9. python简单项目-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

最新文章

  1. 晶闸管有几个pn结_晶闸管的电路符号和图片识别
  2. XML:DTD:Schema
  3. iOS活动倒计时的两种实现方式
  4. MySQL中varchar类型字段隐式转换造成多删除数据
  5. 4 weekend110的hive入门
  6. Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!
  7. Java PreparedStatement IN子句替代
  8. JSP—跳转页面的三种方式
  9. DataGridView的行的字体颜色变化
  10. Mahout学习笔记-分类算法之Decision Forest
  11. 宏晶新推出的STC16单片机,有哪些方面的不足?
  12. Windows10系统如何开启和关闭隐藏的卓越性能模式
  13. 计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家...
  14. 淘淘商城第30讲——实现商品添加功能
  15. 交换机的工作模式:IVL和SVL
  16. Django之 Models Manager
  17. 轻松在线制作各种Logo标志
  18. 布雷默曼极限 (Bremermann‘s limit)
  19. 职位名称PM、RD、QA、OP英文缩写
  20. Apache的Order Allow,Deny 规则

热门文章

  1. Cadence virtuoso 修改symbal光标
  2. 怎样升级oppo手机android版本,OPPO R9手机全网通版升级ColorOS 3.0:基于安卓6.0
  3. 小红书被罚30万,理由:违反未成年人保护法
  4. 让手机支持OTG,不看绝对后悔! - 我也做一回搬运工,解决RFID读卡器OTG支持问题...
  5. 医学信息学相关术语、缩语及专业名词
  6. 什么蓝牙耳机玩游戏超低延迟?2022玩游戏超低延迟蓝牙耳机推荐
  7. HTML变列自适应布局三行,div自适应居中_典型的DIV CSS三行二列居中高度自适应布局...
  8. 【Oracle】oracle中CAST函数使用
  9. 基于 MFC+Halcon 实现图像缩放、平移
  10. 使用Python制作跳舞小熊的动态二维